c/c++ 单片机通讯 硬件驱动 嵌入式

单片机多机通讯的时候,主机的SM2什么时候设置为1什么时候设置为0?我翻阅的基本资料看到的代码好像都不一样。求解答,谢谢!... 单片机多机通讯的时候,主机的SM2 什么时候设置为1什么时候设置为0?我翻阅的基本资料看到的代码好像都不一样。 求解答,谢谢! 展开
 我来答
kingboy5555
2012-10-31 · TA获得超过224个赞
知道答主
回答量:163
采纳率:0%
帮助的人:144万
展开全部
SM2 为 1 时表示只接收上位机发送的地址码或者说一个标识,这要求上位机在发送地址码时TB8必须为1,如果为0,那么你的单片机就不会接收这个数据,也就不会触发接收中断。

当上位机发送地址码且TB8为1,而你的单片机这时SM2为1,就会接收到主机发送的地址码,然后你要做的就是判断这个地址码是否是这个单片机的地址码,如果是就设置SM2为0,然后主机再次发送数据,不管它的TB8为1或0,那么这个单片机都会接收数据。

多机通讯的单片机,每个单片机都自己拥有一个唯一的地址码,这个可以随便设置一个整数
更多追问追答
追问
主机的SM2设置为0有何意义?也就是说主机在给从机发送消息的时候将SM2设置为1和设置为0有何区别,对从机有什么影响?
追答
上位机不需要操作 SM2 ,SM2只对下位机在接收数据时是否接收地址码的一种开关而已

上位机需要特别注意的是要设置TB8这个,不是SM2
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式