[求助] 关于单片机串口通信的问题

Aaleee   2024-4-15 15:57 楼主

小白最近在做串口通信的实验,但是奈何试了好久,用了好几种方法,串口无论发出什么数据,都只能收到00,求各位大神解惑。

QQ图片20240415152111.png
QQ图片20240415152101.png
QQ图片20240415152105.png

 

回复评论 (17)

拿官方串口例程跑一下,如果也有问题,可能是板子的问题。

点赞  2024-4-15 17:45

短接自发自收看看                                   

Hello astroturfers
点赞  2024-4-16 11:40

驱动装好了么

换个电脑试试

点赞  2024-4-16 13:46
拿官方串口例程跑一下,如果也有问题,可能是板子的问题
点赞  2024-4-17 17:04

找个标准的完好的,对比测试一下情况。

默认摸鱼,再摸鱼。2022、9、28
点赞  2024-4-17 17:51

太感谢了,不仅能学习到知识还能赚积分

点赞  2024-4-18 11:00

回环测呗,00像是有个短接GND了

点赞  2024-4-19 15:17

串口是最常用的外设之一,你说的串口只接收到0。给你一个解决问题的思路:

1、先排除一下,硬件的电路的问题,线是不是接触 好了。线的质量是不是好的。或者换一个TTL转USB试一下。

2、烧一个官方的示例工程看看,如果能正确的接收到了数据,那就是硬件没有问题。

3、排除硬件的问题之后,你要去看看你的程序是不是真的把你想要的数据发出来,进调试模式看看,你所发的数据是不是真的按你的想法生成了。

点赞  2024-4-20 12:06

建议重点检查printf重定向函数的相关程序。用"USART"原函数发送就没有问题,并且有时候正常,

据说是因为”字节对齐问题“。偶尔前面一行加个发送”\r\n“又会正常。

反正是青蛙掉井里了——卟咚!

我也遇到过,怀疑人生:硬件、软件都检查过,没有问题

چوآن شـين
点赞  2024-4-20 21:46

大概率是通讯端口设置不正确,造成端口始终为低电平,端口在空闲时应该为高电平。

点赞  2024-4-21 08:19
引用: Gen_X 发表于 2024-4-20 21:46 建议重点检查printf重定向函数的相关程序。用"USART"原函数发送就没有问题,并且有时候正常, 据说 ...

printf函数默认是输出到缓冲区,缓冲区未满的情况下不会发送。除非遇到\r\n这些换行符,遇到这些会直接将缓冲区的内容输出。又或者调用flush函数来输出缓冲区的内容。

点赞  2024-4-21 10:09

可以接收到数据,尽管接收的数据不对,那板子有问题概率较低,还是程序的问题

点赞 (1) 2024-4-21 14:19

太感谢了,不仅能学习到知识还能赚积分

点赞  2024-4-25 09:35

先搞个好的现成的例子在你这个板子上跑一下。看能不能跑成功。

点赞  2024-4-25 09:48

示波器看看波形,发0x55,检查物理层和链路层是否正确

点赞  2024-5-7 20:30

拿官方串口例程跑一下,如果也有问题,可能是板子的问题

点赞  2024-5-22 11:35

拿官方串口例程跑一下,如果也有问题,可能是板子的问题。同意

点赞  2024-8-11 19:17
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复