
Originally Posted by
richard
Code:
TRISB = %10000000 'use TRISB to specify which pin is (1 = input) and which (0 = output) (RB7 PORTB.7 is the RX input pin of the EUART, the rest are output)
TRISC = %10000000 'use TRISC to specify which pin is (1 = input) and which (0 = output) (RC7 PORTC.7 is the RX input pin of the EUART, the rest are output)
'in PORTC the RC3 attached is an LED.
setting the tris incorrectly will stop the eusarts from working
from data sheet
Setting the TXEN bit of the TXSTAx register enables thetransmitter circuitry of the EUSART. Clearing the SYNC
bit of the TXSTAx register configures the EUSART for
asynchronous operation. Setting the SPEN bit of the
RCSTAx register enables the EUSART and
automatically configures the TXx/CKx I/O pin as an
output. If the TXx/CKx pin is shared with an analog
peripheral the analog I/O function must be disabled by
clearing the corresponding ANSEL bit.
To be honest i didnt really understand the statement. I understand that it is not necessary to set a TRIS register at TX bit as automatically the TX configured as an output.....
Code:
TRISB = %10000000 'use TRISB to specify which pin is (1 = input) and which (0 = output) (RB7 PORTB.7 is the RX input pin of the EUART, the rest are output)
TRISC = %10000000 'use TRISC to specify which pin is (1 = input) and which (0 = output) (RC7 PORTC.7 is the RX input pin of the EUART, the rest are output)
'in PORTC the RC3 attached is an LED.
as we have already stated and configured the EUSART with the following:
Code:
'*-----------------------------------------------------------------------------|
'* | --------------------- | |
'*----------------------- | EUART 1 Configuration | --------------------------|
'* | --------------------- | |
'*-----------------------------------------------------------------------------|
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_CLROERR 1 ' Clear overflow automatically
DEFINE HSER_SPBRG 160 ' 38400 Baud @ 64MHz, -0,08%
SPBRGH = 1
BAUDCON.3 = 1 ' Enable 16 bit baudrate generator
'*-----------------------------------------------------------------------------|
'* | --------------------- | |
'*----------------------- | EUART 2 Configuration | --------------------------|
'* | --------------------- | |
'*-----------------------------------------------------------------------------|
DEFINE HSER2_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER2_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER2_CLROERR 1 ' Clear overflow automatically
DEFINE HSER2_SPBRG 160 ' 38400 Baud @ 64MHz, -0,08%
SPBRGH2 = 1
BAUDCON2.3 = 1 ' Enable 16 bit baudrate generator
'*-----------------------------------------------------------------------------|
'*-----------------------------------------------------------------------------|
How Do we configure the rest of the TRIS bits?
Code:
TRISB = %1X000000 'use TRISB to specify which pin is (1 = input) and which (0 = output) (RB7 PORTB.7 is the RX input pin of the EUART, the rest are output)
TRISC = %1X000000 'use TRISC to specify which pin is (1 = input) and which (0 = output) (RC7 PORTC.7 is the RX input pin of the EUART, the rest are output)
'in PORTC the RC3 attached is an LED.
Bookmarks