微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求助:51单片机和顺丰金千分表通讯(已编写程序)

求助:51单片机和顺丰金千分表通讯(已编写程序)

时间:10-02 整理:3721RD 点击:
顺丰金数字千分表 量表数据线协议
1、串口数据一共五个字节,波特率4800,数据是10位,其中1位起始位,8位数据位和1位停止位,没有奇偶效验位。数据一直主动发,和外部设备的状态无关。
2、第一个字节为同步码:0xaa,表示串行起始数据,用于数据同步。   
3、第二,三,四字节表示测量的位移数据,每个字节表示2位十进制数,数据低位先发送
举例说明: 第二字节数:0x30   
第三字节数:0x55   
第四字节数: 0x01   
上述数据表示测量的数据是 1.553mm(单位是公制情况下)   
4、第五个字节,低四位(bit)表示显示控制符   
Bit0=公英制选择(其中0表示公制,1为英制)  
Bit1=正负方向标 志(其中0为正,1为负)   
Bit2=1数据被确认(只适用于带确认按钮的数据线)
程序已经编好了,用电脑中串口助手模拟千分表发送数据 aa30550100 ,单片机板子上的lcd上显示正确,为 1.5530mm,但是直接用千分表连单片机板,lcd上没有任何反应。
然后我又编了一个测试小程序,单片机只要接收到aa就能显示0.0000mm,不管aa后面是任何长度的数字都行。用电脑模拟成功,但是千分表和单片机相连,lcd还是不显示任何值。
希望各位大神帮忙看看,帮我找找原因,我已经快被折腾疯了。非常感谢!


量表和单片机的uart电平制式是否一致?另外用电脑模拟时使用的usb转TTL芯片模块还是直接连接的九针COM串口?

先检验一下单片机是否能够正常接收量表发送出来的数据,可以利用逻辑分析仪看看量表的输出波形是否正常,可能是串行接口或者波特率有问题吧

谢谢您的回答^_^ 下面是我的观点:
    量表的波特率是4800,这个通过量表与电脑通讯验证了。
    电脑可以和量表通讯,量表的接口是没有问题的。
    电脑模拟量表发送的数据发送给单片机,单片机能够接收,我觉得程序应该没有什么大问题。
    而量表发送的数据单片机接收不到,我在想是不是我有什么没有考虑到?

请问,问题解决了吗?是什么问题?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top