Hi guys,
Today I wanted to do a test with an USART of the 18f6310. This PIC has 2
USARTs and the names of the USART registers have suffixes 1 and 2. That
is not so surprisingly by itself, but it means that - even when you want
to control only 1 USART - you cannot use the current serial libraries
because these use register names without suffix.
I've solved this by specifying some aliases in the program before
including the serial library, as follows:
alias RCREG is RCREG1
alias RCSTA is RCSTA1
alias RCSTA_CREN is RCSTA1_CREN
alias RCSTA_FERR is RCSTA1_FERR
alias RCSTA_OERR is RCSTA1_OERR
alias RCSTA_SPEN is RCSTA1_SPEN
alias SPBRG is SPBRG1
alias TXREG is TXREG1
alias TXSTA is TXSTA1
alias TXSTA_BRGH is TXSTA1_BRGH
alias TXSTA_TXEN is TXSTA1_TXEN
This is for the first USART. Of course when I wanted to use the second
USART I would have used '2' in stead of '1' of course.
I expect not many users would want to use 2 USARTs at the same time, and
it would require a significant change of the serial libraries, or
separate libraries. But at least we should allow the use of 1 USART for
PICs with multiple USARTs. I see several possible solutions:
1. suggest in the docs to use the alias-technique as above
2. specify these aliases in the device files
3. provide another set of libraries (one for each USART)
Item 1 is simple and flexible: a user can choose the USART
Item 2 is convenient for the users, but can only be done for one
specific USART (most likely the first)
Item 3 is the most work for us
Comments?
Regards, Rob
--
Rob Hamerling, Vianen, NL (http://www.robh.nl/)
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/jallib?hl=en.