求教,stm32做一主多从通讯怎么做的呢?我知道主向从发数据可以用以下模式唤醒。
USART_WakeUpConfig(USART3, USART_WakeUp_AddressMark);
USART_SetAddress(USART3, 0x05);
USART_ReceiverWakeUpCmd(USART3, ENABLE);
现在主要问题不知道,主机怎么判断数据是哪个从机发送过来的,从机向主机发送数据的协议一般是怎样的。求大神指导一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一对多是半双工通信,主机像老师,从机是学生。
平时子机都要闭嘴,随时听主机说话;
主机说话,要区分对象是谁,内容必须包含对方的ID;
主机的字数是事先约定的,不能多说一个字,然后主机也要闭嘴,同时竖起耳朵听,直至下次开口;
下面该从机答话,中间组织语言的延迟不能超过约定时间,字数同样是约定的,不许多说一个字。
明白这个道理,可以自己编写协议。
一周热门 更多>