如果想实现多机通讯,必须要实现:发送或者接收某一个固定地址或者广播地址。大家都知道51单片机采用附加的第九位TB8或者RB8实现上述功能。
本来以为STM32也具有上述功能,但仔细看了不尽然:
1:它本身有一个address寄存器,当接收到的数据(当然第九位应该为1)它首先要和这个address寄存器中的值进行比较,然后才能进入继续接收状态。
看下图:

为了实现和原有的51进行通讯,应该可以采用如下办法: Address::1字节加mark device
ID:1字节,其实是slave address length:1字节数据包的长度(只length后面的数据的长度,包括cr...
阅读全文>>