我用串口接收传感器发送的16进制数据 应该是13位 只收到8位 数据是对的只不过是前面8位 请问如何解决

[复制链接]
查看11 | 回复4 | 2011-9-19 12:06:01 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2011-9-19 12:06:01 | 显示全部楼层
继续接收。------------------什么单片机能够“每一帧发送13位”呀?串行口,每次传送一帧,一帧就是8位二进制数,这是通用的标准。13位数,必须传送两次。
回复

使用道具 举报

千问 | 2011-9-19 12:06:01 | 显示全部楼层
或许你只发送了这8位!再就是你只接收了这8位!再看看你的程序吧推荐看书VisualC_TurboC串口通信编程实践Visual_Basic与_RS-232_串行通信控制Nod一次最多1个byte8bit或者7bit
回复

使用道具 举报

千问 | 2011-9-19 12:06:01 | 显示全部楼层
这需要知道你的传感器用什么输出信号了。看来你需要最少用烟雾传感器、温度传感器、气体传感器、光电传感器等。一般传感器都是模拟信号输出,(有4~20mA、1~5V、200~1kHz等)。而有的传感器根本没有标准输出(比如热电偶)。只有数字式传感器输出的信号才能接串口,但输出的信号形式也有异步串行、同步串行、i2c、can等形式。你说的串口应该是属于异步串行通信方式。但数字式输出的传感器相对模拟式输出要贵。你可以自己做单片机接收AD模拟信号来接传感器。请参考
回复

使用道具 举报

千问 | 2011-9-19 12:06:01 | 显示全部楼层
这需要知道你的传感器用什么输出信号了。看来你需要最少用烟雾传感器、温度传感器、气体传感器、光电传感器等。一般传感器都是模拟信号输出,(有4~20mA、1~5V、200~1kHz等)。而有的传感器根本没有标准输出(比如热电偶)。只有数字式传感器输出的信号才能接串口,但输出的信号形式也有异步串行、同步串行、i2c、can等形式。你说的串口应该是属于异步串行通信方式。但数字式输出的传感器相对模拟式输出要贵。你可以自己做单片机接收AD模拟信号来接传感器。请参考
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行