USART2样例程序接收不到键盘字符
请教各位,我在ST软件开发板 NUCLEO-L073RZ 上运行其官网下载的样例程序 USART_Communication_Rx_IT,该程序从终端键入字符,然后程序收到后会重新打印到终端。 在main.h里有一个开关USE_VCP_CONNECTION。 该值为1 时用的USART2,但是不工作,终端收不到字符。该值为0时用的USART1,这个却可以工作。附上这个样例程序。想请教有经验的朋友,看能不能知道原因。根据样例程序,我写了个printf和scanf的程序。在开发板上运行同样USART2收不到字符,但是可以打印出来。
最后多问另外一个问题。
LL_RCC_SetUSARTClockSource()为啥只能设USART1和USART2的时钟源。为啥不能设USART4和USART5?
多谢各位帮忙!
楼主有否看清楚main.h里定义Usart1和usart2的IO口的不同吗?
wenyangzeng 发表于 2018-8-27 16:03
楼主有否看清楚main.h里定义Usart1和usart2的IO口的不同吗?
我理解您问得是测试时,有没有将TX/RX线换到相应的pin口。这个事情我做了。
并且,因为我的另外一个程序printf在这两个USART1/2都能工作,所以我能确认自己的接线没有问题。 自顶一下。现在USART4也有同样问题,无法收着终端键入的字符。ISR中的RXNE位一直为0。:dizzy::dizzy::dizzy: USART4和USART5已调通。貌似需要完全下电开发板,再重新上电。否则前次的寄存器会有影响。在实际产品里应该要在程序里加deInit处理。
USART2死活不工作。而且PA2/PA3,TX/RX的线序和其他USARTx(1,4,5)不一样。如果把USART2换pin脚到PA14/PA15,程序直接就起不来。这破开发板真心坑死人。:@ 检查下是不是硬件的问题
页:
[1]