打印

关于stm32 实现mdb/icp 通信

[复制链接]
4498|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我现在在调一个通信方式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通信方式和 差不多~不知道这样理解,对不对~

香主指点一下小弟~~~谢谢了~
沙发
yixin1937|  楼主 | 2012-7-20 15:12 | 只看该作者

补充一下:mode 应该是 msb 最高位(1为地址位。0为数据位)

使用特权

评论回复
板凳
yixin1937|  楼主 | 2012-7-20 22:33 | 只看该作者
你们没有人回应我一下 啊 香主 救人啊

使用特权

评论回复
地板
yixin1937|  楼主 | 2012-7-21 16:42 | 只看该作者
真的没有知道吗???

使用特权

评论回复
5
xsgy123| | 2012-7-21 22:31 | 只看该作者
对这方面不太了解,帮LZ顶一下吧

使用特权

评论回复
6
yixin1937|  楼主 | 2012-7-23 09:43 | 只看该作者
问题已经解决了~~~
哎~靠人不如靠自己~
真晕~
谢谢 5楼xsgy123的支持~

使用特权

评论回复
7
machuxon| | 2015-11-23 17:16 | 只看该作者
LZ 我也想做 能告诉我 怎么实现的吗??我的邮箱526869336@qq.com 能把程序给我看一下吗???谢谢

使用特权

评论回复
8
linxindong| | 2016-11-11 10:34 | 只看该作者
请问是怎么实现的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

24

主题

185

帖子

0

粉丝