拿官方串口例程跑一下,如果也有问题,可能是板子的问题。
驱动装好了么
换个电脑试试
回环测呗,00像是有个短接GND了
串口是最常用的外设之一,你说的串口只接收到0。给你一个解决问题的思路:
1、先排除一下,硬件的电路的问题,线是不是接触 好了。线的质量是不是好的。或者换一个TTL转USB试一下。
2、烧一个官方的示例工程看看,如果能正确的接收到了数据,那就是硬件没有问题。
3、排除硬件的问题之后,你要去看看你的程序是不是真的把你想要的数据发出来,进调试模式看看,你所发的数据是不是真的按你的想法生成了。
建议重点检查printf重定向函数的相关程序。用"USART"原函数发送就没有问题,并且有时候正常,
据说是因为”字节对齐问题“。偶尔前面一行加个发送”\r\n“又会正常。
反正是青蛙掉井里了——卟咚!
我也遇到过,怀疑人生:硬件、软件都检查过,没有问题
大概率是通讯端口设置不正确,造成端口始终为低电平,端口在空闲时应该为高电平。
引用: Gen_X 发表于 2024-4-20 21:46 建议重点检查printf重定向函数的相关程序。用"USART"原函数发送就没有问题,并且有时候正常, 据说 ...
printf函数默认是输出到缓冲区,缓冲区未满的情况下不会发送。除非遇到\r\n这些换行符,遇到这些会直接将缓冲区的内容输出。又或者调用flush函数来输出缓冲区的内容。
示波器看看波形,发0x55,检查物理层和链路层是否正确