STM32多机通信

STM32多机通信

ID:46392652

大小:27.00 KB

页数:3页

时间:2019-11-23

STM32多机通信_第1页
STM32多机通信_第2页
STM32多机通信_第3页
资源描述:

《STM32多机通信》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、利用USART可以进行多机处理器通信,可以将多个USART连接成一个网络,设置一个是主设备,其他为从设备。其实现原理就是使从机处于静默模式,由主机在需要的时候发送指令唤醒从机,并传输数据事项相应的功能。STM32静默模式特点:1、所有接收状态位都不会被设置;2、所有的接收中断都被禁止;3、USART_CR1寄存器中的RWU位被置1,RUW可以硬件自动控制或者在某些条件下由软件写。连接方法很简单,主机的TX输出与从机的RX端口直接相连,从机TX端口要经过与非门与主机RX端口连接。多机通信方式有2种:空闲帧唤醒和地址唤醒。空闲帧唤醒可

2、以同时唤醒所有从机,在从机处于静默模式时发送空闲帧(即所有位均为1的数据),唤醒多个从机,开始动作,实现多个从机同步工作。地址唤醒可以唤醒单个从机,不同地址唤醒不同从机,在从机静默时发送地址帧,从机自动对比地址,如果地址配对正确则该从机唤醒,否则继续进入静默。这样只有被寻址者才被激活,来接收随后的数据,这样就可以减少由未被寻址的接收机器参与带来的多余的USART服务开销。这种模式下,MSB为1的字节被认为是地址,否则被认为是数据(MSB一般为数据传送的最高位,8位传送则MSB为第八位;9位传送则MSB为第九位)。在一个地址字节中,

3、目标接收者的地址放在低4位。这4位会被接收器拿来和设置在USART_CR2寄存器中ADD位中的自身地址比较。当接收到一个和设置地址相匹配的地址字符时,USART退出静默模式。RWN被清除,后面的字节也将正常接收。因为RWU位已经被清除,RXEN位会因为接收到地址符被置1。当从机再次接收到地址符,如若地址不匹配则从机再次进入静默模式。程序实际编写时可以注意以下3部分的设置:一、设置静默模式:函数原形voidUSART_WakeUpConfig(USART_TypeDef*USARTx,u16USART_WakeUp)其中USART_

4、WakeUp:USART的唤醒方式:1、USART_WakeUp_IdleLine空闲总线唤醒2、USART_WakeUp_AddressMark地址标记唤醒二、地址唤醒中地址设置:函数原形voidUSART_SetAddress(USART_TypeDef*USARTx,u8USART_Address)其中USART_Address:是设置USART节点的地址。例如:USART_SetAddress(USART2,0x5);三、检查是否进入静默:函数原形voidUSART_ReceiverWakeUpCmd(USART_Type

5、Def*USARTx,FunctionalStateNewstate)其中NewState:USART静默模式的新状态这个参数可以取:ENABLE或者DISABLE,从机中一般如果要求开机便静默的话可以将NewState设置为ENABLE。其实在本人写的多机通信中使用的是51单片机做主机,2个STM32做从机通信。51单片机用串口发送时只要与从机波特率和发送数据位数设置一致就可以实现多机通信。粗略小结还望大家多多指教。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。