STM32F10xxx微控制器的USART与IrDA模式解析

需积分: 13 12 下载量 119 浏览量 更新于2024-08-10 收藏 9.69MB PDF 举报
"STM32中文文档,讲解了停止位检测奇偶检验错以及IrDA SIR ENDEC功能在STM32F10xxx系列微控制器中的实现,涉及到USART的配置和IrDA物理层规范。" 在STM32微控制器中,停止位检测和奇偶检验错是UART(通用异步收发传输器)通信的重要组成部分,用于确保数据传输的正确性。如图250所示,1.5个停止位被用来检测传输错误。停止位的作用是在数据帧的末尾提供一个固定的时间间隔,使得接收端可以准确识别数据帧的结束。奇偶检验则是一种简单的错误检测方法,通过计算数据位的奇偶性并在传输时附加一个校验位来检查数据的完整性。如果在接收时检测到的奇偶性与预期不符,就说明可能存在传输错误。 USART(通用同步/异步收发器)在智能卡模式下,可以输出SCLK时钟给智能卡,这个时钟由内部的外设输入时钟经过5位预分频器分频得到,频率范围从fCK/2到fCK/62,其中fCK是外设输入时钟。预分频值是在USART_GTPR寄存器中配置的。 IrDA SIR ENDEC功能块允许STM32微控制器支持IrDA(红外数据协会)的串行红外(SIR)通信。通过设置USART_CR3寄存器的IREN位,可以启用IrDA模式。在这种模式下,需要关闭其他特定寄存器位,如USART_CR2的LINEN、STOP和CLKEN位,以及USART_CR3的SCEN和HDSEL位,以确保符合IrDA SIR的物理层规范。IrDA SIR使用反相归零调制方案(RZI),其中红外光脉冲代表逻辑'0'。发送编码器会对接收到的NRZ比特流进行调制,而接收解码器则对红外接收器的归零位比特流进行解调,输出NRZ串行比特流。在正常工作模式下,脉冲宽度规定为位周期的3/16。在空闲状态下,解码器输入通常为高电平(标记状态)。解码器输入的下降沿被检测为起始位。 STM32F10xxx系列是基于ARM Cortex-M3内核的高性能微控制器,包含不同容量的闪存、封装和外设配置。开发人员需要参考STM32F101xx、STM32F102xx、STM32F103xx的数据手册来获取电气和物理性能参数,以及STM32F10xxx闪存编程手册来了解编程、擦除和保护操作。Cortex-M3技术参考手册提供了关于处理器核心的详细信息。所有这些文档都可以在ST官方网站上找到,以获取最新的信息和支持。