当前位置:   article > 正文

5.树莓派串口通信失败_树莓派串口ttyama1配置失效

树莓派串口ttyama1配置失效

目录

1.怀疑线有问题

2.怀疑usb转串口那个硬件有问题

3.怀疑树莓派的 RXD 和 TXD 有问题(配置文件已经修改好了的)


失败现象:

树莓派能发送数据到串口,但是串口发的数据树莓派接收不到,代码正确。

排查:

1.怀疑线有问题

换了几根线测试,还是同样的失败现象。

2.怀疑usb转串口那个硬件有问题

测试:用一个线把usb转串口的 RXD 和 TXD 短接(不接树莓派。单一个下图硬件),如下图

插上电脑,打开串口调试工具

结果,发现,发送数据毫无反应。初步证明这个硬件模块有问题。

3.怀疑树莓派的 RXD 和 TXD 有问题(配置文件已经修改好了的)

同样,用一个线把 RXD 和 TXD 引脚短接。

写一个程序测试接收有没有问题

  1. #include<wiringPi.h>
  2. #include<wiringSerial.h>
  3. #include<stdio.h>
  4. #include<stdlib.h>
  5. #include <unistd.h>
  6. #include<string.h>
  7. int main()
  8. {
  9. int fd;
  10. int cmd;
  11. char buf[1024] = {'\0'};
  12. wiringPiSetup();
  13. fd = serialOpen("/dev/ttyAMA0",9600); //打开并初始化串口
  14. printf("fd = %d\n",fd);
  15. while(1){
  16. if(fork() == 0){
  17. serialPuts(fd,"send message");
  18. delay(100);
  19. }else{
  20. while(serialDataAvail(fd) != -1){
  21. memset(buf,'\0',1024);
  22. read(fd, &buf, 1024);
  23. printf("\n = %s = \n", buf);
  24. }
  25. }
  26. return 0;
  27. }
  28. }

结果看出,树莓派能发送,能接收数据。

(数据为啥读不全,因为:一次只能收8个字符

综上:是usb转串口的那个硬件模块坏了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/893159
推荐阅读
相关标签
  

闽ICP备14008679号