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

2019-07-15 16:11发布

顺丰金数字千分表 量表数据线协议

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还是不显示任何值。

希望各位大神帮忙看看,帮我找找原因,我已经快被折腾疯了。。。非常感谢!
Q2%M6]4})$MCSF@]N(YJ05J.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
zjbhello
1楼-- · 2019-07-15 16:31
量表和单片机的uart电平制式是否一致?另外用电脑模拟时使用的usb转TTL芯片模块还是直接连接的九针COM串口? 最佳答案
zjbhello
2楼-- · 2019-07-15 17:10
 精彩回答 2  元偷偷看……
lv笑语
3楼-- · 2019-07-15 21:31
zjbhello 发表于 2015-8-27 23:29
先检验一下单片机是否能够正常接收量表发送出来的数据,可以利用逻辑分析仪看看量表的输出波形是否正常,可能是串行接口或者波特率有问题吧

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

一周热门 更多>