I can’t get Serial1 to work, and in my digging, I note that TX is connected to GPIO18 and RX is connected to GPIO19. However, in the Serial example, the table doesn’t show that as a viable pair. Only 18,15 and 20,19 seem to be close… At this point I’m working down the path of undefining Serial1 (in the bowels of Arduino) and picking a different pair. Thoughts?
Thanks for reaching out to us on this.
Sure, go for it! Modifying code is an essential skill to electronics projects - many times hardware/firmware updates will change how the software needs to be configured.
Save an original copy of the code you’ll be modifying, then make a new file with the changes, and test it out! This is how you really begin to develop things on your own. You can always revert back to an earlier version if you keep an unmodified version around.
Hope this helps, and happy sparking!
Hmmm… Not the response I was looking for. I’m quite aware of how to modify code. Been doing it since 1987. Also, maybe you should check out Git as a way to manage code changes… See how dumb that felt?
UART1TX and UART1RX connections can be mapped to a large number of pins, including those you mention. In the Apollo3 datasheet, table 559, has this all mapped out. concentrating. In chapter 11.5.5.3 UART1 TX/RX Connections of the same document it is described in more detail:
Table 594: UART1 TX Configuration
Field Value Pad
PAD8FNCSEL 6 8
PAD10FNCSEL 0 10
PAD12FNCSEL 7 12
PAD14FNCSEL 2 14
PAD18FNCSEL 6 18
PAD20FNCSEL 5 20
PAD24FNCSEL 0 24
PAD35FNCSEL 2 35
PAD37FNCSEL 5 37
PAD39FNCSEL 1 39
PAD42FNCSEL 0 42
PAD47FNCSEL 6 47
Table 595: UART1 RX Configuration
Field Value Pad
PAD2FNCSEL 0 2
PAD4FNCSEL 5 4
PAD9FNCSEL 6 9
PAD13FNCSEL 7 13
PAD15FNCSEL 2 15
PAD19FNCSEL 6 19
PAD21FNCSEL 5 21
PAD25FNCSEL 0 25
PAD36FNCSEL 2 36
PAD40FNCSEL 1 40
PAD43FNCSEL 0 43
PAD47FNCSEL 6 47
The fncsel-value setting is handled by the library. You can just select the different pads for Serial1. RX and TX
Thanks! I’ll check that out. Sorry I took a while to respond. I had a few other fires to put out.