STM32F1的多机通讯,地址匹配唤醒,串口的USART_CR2 寄存器的ADD只有4个位,最大到0xf;现在有24-30路从机,1个主机,当地址发送的为0x01和0x11时,都可以唤醒设定为0x01的从机;请教有没有什么更好的办法,硬件解决这个问题,软件干预除外,谢谢。 |
楼主打算怎样用硬件解决? |
如果用硬件可以考虑用多串口控制器,一个芯片可以控制4路串口的。 |
可以采用8路通道选择器 或者 模拟开关芯片 |
mark追踪,关注这个问题点。 |
恩,这是想实现多块板子间的串口通信么? |
模拟开关芯片分时切换吧 |
~~~貌似全部来混金币的,回答的根本牛头不对马嘴,硬件没有办法解决,目前我自己没测试出来,本来想进接收中断(当地址为0x02和0x12都会唤醒0x02的从机)再判断地址是否匹配来再次置USART_CR1的RWU位,但是手册说在RXNE 位被置位时,不能用软件修改RWU位,目前是只能这2帧数据都接收软件判断,明天再测试看看 |
今天早上测试了,当地址为0x02和0x12都会唤醒0x02的从机,0X02从机在中断里先判断地址是否为当前地址,如果不是,软件置USART_CR1的RWU位,进入静默模式,就可以了,只会完全接收0X02地址帧数据;在此结贴 |