关于stm32 实现mdb/icp 通信

[复制链接]
5458|7
 楼主| yixin1937 发表于 2012-7-20 15:08 | 显示全部楼层 |阅读模式
我现在在调一个通信方式mdb/icp~ MDB协议的串行位格式为:1个起始位,8个数据位,1个方式位(地址字节的方式位被置1,数据字节的方式位被置0,)与1个停止位,共11位。
而在传输过程中:
      主机发送数据的格式是:地址+N个数据~也就是说第一个字节的方式位置1 ,而N个数据的每一个方式位为0.
      从机回复的时候,N个数据+地址字节(实际上就是最后一个字节)N个数据的每一个方式位为0,最后一个字节的方式位置1 。
      我做的是主机,在这种情况下~我应该对stm32单片机怎么操作,才能实现这种方式的发送和接收数据?
           按照以上的通信说法我有一下几个疑问:
      1、初始化串口:(波特率什么的省略,主要是对校验的设置)
            //校验设置
             UART1->CR1|=(1<<12); //E 8 1
             UART1->CR1|=(1<<11); //wake = 1 被地址标记唤醒
             UART1->CR1|=(1<<1);  // RWU:接收唤醒 1:接收器处于静默模式。
        这三条命令:我感觉第一条应该没有问题,第二和第三知道设置的对不对?没有闹清楚到底是怎么设置的?

     2、发送的时候怎么是msb(方式位)置1,怎么清零msb(方式位)

     3、接收方式的时候,怎么正确接收数据后,还能判断msb(方式位)是0 还是1


我通过看手册 感觉以上的mdb通信方式和 QQ截图20120720150712.jpg 差不多~不知道这样理解,对不对~

香主指点一下小弟~~~谢谢了~
 楼主| yixin1937 发表于 2012-7-20 15:12 | 显示全部楼层
QQ截图20120720151025.jpg
补充一下:mode 应该是 msb 最高位(1为地址位。0为数据位)
 楼主| yixin1937 发表于 2012-7-20 22:33 | 显示全部楼层
你们没有人回应我一下 啊 香主 救人啊
 楼主| yixin1937 发表于 2012-7-21 16:42 | 显示全部楼层
真的没有知道吗???
xsgy123 发表于 2012-7-21 22:31 | 显示全部楼层
对这方面不太了解,帮LZ顶一下吧
 楼主| yixin1937 发表于 2012-7-23 09:43 | 显示全部楼层
问题已经解决了~~~
哎~靠人不如靠自己~
真晕~
谢谢 5楼xsgy123的支持~
machuxon 发表于 2015-11-23 17:16 | 显示全部楼层
LZ 我也想做 能告诉我 怎么实现的吗??我的邮箱526869336@qq.com 能把程序给我看一下吗???谢谢
linxindong 发表于 2016-11-11 10:34 | 显示全部楼层
请问是怎么实现的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:用我的一生!来追求人生的高峰!

24

主题

185

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部