USART简介:
通用同步异步收发器,是一种通信协议。可以灵活的与外部设备进行全双工数据交换。stm32f4中,支持同步单向通信和半双工单线通信,还支持LIN(局域互联网络),智能卡协议与IRDA(红外线数据协会),SIR ENDEC规范,以及调制解调器操作(CTS/RTS).而且它还支持多处理器通信。
配置:
一,配置时钟
1.在STM32F4 中,要使用串口首先得看你芯片中的IO口引脚那些是可以用于串口接收和发送的。
2.通过相关资料,或者原理图,找到对应的IO口所在的分组。
3.找到自己要使用的串口所在的时钟分组。
4.使能对应的IO口时钟,和对应的USART时钟。
二,复用映射
1.在STM32F4中,要使用串口通信是,首先得将IO口配置为复用模式,所以要找到对应Io口的复用映射表以及复用到哪个功能。
2.根据找到的复用映射器,把对应的IO口映射到对应的复用器(复用功能)上。
三,IO口 的配置
1. STM32f4中在使用IO口时,首先得配置相关的模式和功能(省略模式和功能的详细),
2.当要把IO口用串口通信时,我们首先得配置该IO口模式为:复用功能,输出速度为50hz(可更具具体情况配置),输出类型为推挽复用输出,上下拉为上拉(更具IO口的具体情况配置),IO口就是自己对应的IO口。
四,USART的配置
1.在使用串口通信时,首先得找准波特率(根据自己具体情况配置)。
2.配置字长数据格式,也就是规定传输数据的位数。(通常是8位数据)
3.配置停止位(当接受方接受到停止位时,表示数据传输完成,通常是1位)
4.配置奇偶校验为(校验数据是否正确,一般无奇偶校验位)
5.配置硬件数据流控制(一般无)
6.配置模式为收/发/收+发
7.使能串口
四,NVIC嵌套向量中断控制器配置
1.首先得开启相关的串口中断
2.根据需要,配置中断的抢占优先级
3.根据需要,配置中断的响应(子)优先级。
4.使能对应的NVIC控制器
5.初始化指定的寄存器
测试(处理接受数据):
1.首先得更具STM协议,编写串口中断函数。
2.定义变量或数组,接受接收到的字节数据。
3.可以根据自己定义的数组长度,或者是数据长度来判断接收到的数据是否合法,也可以通过判断数据结束为来判断数据是否是干扰信号。
4.处理数据。
注:
1.使用串口时,若没有通讯设备调试,可以先使用串口模拟器来调试串口数据。
2.串口的波特率必须一致才可以进行通讯。
3.要注意串口时钟和IO口时钟是否使能,IO口配置和USART配置是否正确,中断的配置是否正确。
4.调试时,若无数据,可以先判短中断函数是否执行。
原创文章,我们不是代码的搬运工,您的指出的不足和宝贵的意见,是我们成长的粮食。
感谢您的阅读!!!