2024-12-17 12:13 AM - edited 2024-12-17 12:14 AM
Good morning,
We've been working with the USART connectivity on the H7S3L8 board, since the new CubeMX update added the missing "Hardware Flow Control (RS485)" option :
However, after connecting a sensor that we know is responding (tested through a different F7 board and on the same board with an oscilloscope), I was not able to get anything when using the HAL methods (either with interrupt, or in the simple blocking mode) :
Here is our configuration :
Nothing really worth mentioning, aside from the PD6 pin which we had to unassign from the Ethernet connectivity (I believe it is used by a Eth clock by default... but we didn't get any warning, and the Ethernet seems to still be working fine)
Transmission works well (synchronously):
However for the reception, we sometimes get just one character with the callback of the interrupt... sometimes none. Which is a bit frustrating (when we know signal is going through the RX pin, and that the DE ping is working as expected). I also tried the blocking call, which returned a timeout, after a reasonable wait period.
We reused the code we had on an F7 board, which was working.
However, for some reason the USART RS485 communication doesn't want to work on this H7RS board.
Did we do a mistake on the USART connectivity configuration? Are we missing something...
(I've attached a cut-down project with the ioc file we are using)
Thank you for your help!
Philippe
2024-12-17 08:01 AM
Have you verified that the signal is actually reaching the UART's RX pin?
Does it work with plain logic signals - ie, no RS485?
2024-12-17 08:37 AM
Also read out and check UART and relevant GPIO registers content.
Start with polled Rx first.
JW