daocaorends 2018-08-09 07:03 采纳率: 0%
浏览 1094
已结题

关于linux+arm下读取串口数据(ic感应模块)

数据读出来不一样,该模块在window用串口调试工具可以读出5组十六进制的数据,分别是:2E 48 4A FA D6 。在arm开发板下,编写串口应用代码,读出来有时候是4组:48 4a fa d6 ,也有时候会出现5组2e 48 4a fa d6,

        set_speed(fd,9600);
    if (set_Parity(fd,8,1,'N') == FALSE)  {
            printf("Set Parity Error\n");
            exit (0);
        }
 while(1)
    {
        if((nread = read(fd, buff, 255))>0)
        {
                 HexDump(buff,nread ,addr);//ascii码转化为十六进制
                                 memset (buff, 0, sizeof(buff));
        }
    }

是不是编写串口程序还漏了什么?

  • 写回答

2条回答 默认 最新

  • haiy029 2018-08-10 00:49
    关注

    串口打开后,先清空发送、接收缓冲区试试。

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序