lin简单的解释,作为主机,其实就是uart的基础加上break域(最少13位的低电平+1位的高电平),break域由主机控制,我的理解break域就是用来清场子的,连续的低电平让从机们无法在总线上发数据,转为接收(大佬要开始说话了的意思)。然后是同步场0x55就更好理解了,就是8位连续变化的高低电平,用来同步时钟即波特率。然后是ID。
作为从机,简单的做法就是普通uart就可以了,一直监听串口数据,主机发送的break域、同步域和ID,对uart来说就是0x00 + 0x55+ID。当判断此时ID是自己从机的ID,则把从机要告诉主机的数据发送上去即可。
这是简单的做法,正确的做法应该是要break域监测的,这个STM32的串口支持
|