《《异步串行通信接口》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《异步串行通信接口》PPT课件.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、联系方式:http:/北京源智天下科技有限公司21天学嵌入式开发天学嵌入式开发第十三讲:异步串行通信接口第十三讲:异步串行通信接口 1-2北京源智天下科技有限公司联系方式:http:/课程安排课程安排USART结构结构 USART编程方法编程方法 CAN结构结构 CAN编程方法编程方法 1-3北京源智天下科技有限公司联系方式:http:/USART结构结构STM32的的USART为通用同步异步收发器为通用同步异步收发器 工业标准工业标准NRZ异步串行数据格式。异步串行数据格式。分数波特率发生器。分数波特率发生器。同步单向通信和半双工单线通信。同步单向通信和半双工单线通信。LIN(局部互连网局部
2、互连网)。智能卡协议和智能卡协议和IrDA(红外数据红外数据)SIR ENDEC规范。规范。调制解调器调制解调器(CTS/RTS)。多处理器通信能力。多处理器通信能力。DMA方式。方式。1-4北京源智天下科技有限公司联系方式:http:/USART特征描述特征描述 STM32的数据字长的数据字长 通信格式通信格式1-5北京源智天下科技有限公司联系方式:http:/USART发送器发送器 USART发送配置过程如下:发送配置过程如下:通过在通过在USART_CR1寄存器上置位寄存器上置位UE位来激活位来激活USART。通过设置通过设置USART_CR1的的M位来定义传输字长。位来定义传输字长。在
3、在USART_CR2中设置停止位的位数。中设置停止位的位数。如果采用多缓冲器通信,配置如果采用多缓冲器通信,配置USART_CR3中的中的DMA使能位使能位(DMAT),同时设置,同时设置DMA寄存器。寄存器。设置设置USART_CR1中的中的TE位,发送一个空闲帧作为第一次数位,发送一个空闲帧作为第一次数据发送。据发送。利用利用USART_BRR寄存器选择要求的波特率。寄存器选择要求的波特率。把要发送的数据写进把要发送的数据写进USART_DR寄存器寄存器(此动作清除此动作清除TXE位位)。在只有一个缓冲器的情况下,对每个待发送的数据重复步。在只有一个缓冲器的情况下,对每个待发送的数据重复步
4、骤(骤(7)。)。1-6北京源智天下科技有限公司联系方式:http:/USART接收器接收器 整个整个USART接收配置过程如下:接收配置过程如下:将将USART_CR1寄存器的寄存器的UE置置1来激活来激活USART。设置设置USART_CR1的的M位定义字长。位定义字长。在在USART_CR2中设置停止位的个数。中设置停止位的个数。如果需多缓冲器通信,选择如果需多缓冲器通信,选择USART2_CR3中的中的DMA使能位使能位(DMAT),同时设置),同时设置DMA寄存器。寄存器。利用波特率寄存器利用波特率寄存器USART_BRR选择希望的波特率。选择希望的波特率。设置设置USART_CR1
5、的的RE位,激活位,激活USART接收器,使其开始接收器,使其开始寻找起始位。寻找起始位。1-7北京源智天下科技有限公司联系方式:http:/USART增强功能增强功能 LIN模式模式 USART同步模式同步模式 USART单线半双工通信单线半双工通信 USART的智能卡功能的智能卡功能 USART的的IrDA模式模式 USART的的DMA通信通信 1-8北京源智天下科技有限公司联系方式:http:/USART的硬件流控制的硬件流控制 1-9北京源智天下科技有限公司联系方式:http:/USART的中断请求的中断请求 1-10北京源智天下科技有限公司联系方式:http:/USART寄存器结构寄
6、存器结构 typedef struct vu16 SR;/USART的状态寄存器 u16 RESERVED0;vu16 DR;/USART的数据寄存器 u16 RESERVED1;vu16 BRR;/USART的波特率寄存器 u16 RESERVED2;vu16 CR1;/USART控制寄存器1 u16 RESERVED3;vu16 CR2;/USART控制寄存器2 u16 RESERVED4;vu16 CR3;/USART控制寄存器3 u16 RESERVED5;vu16 GTPR;/USART的预警时间和预分频寄存器 u16 RESERVED6;USART_TypeDef;1-11北京源智
7、天下科技有限公司联系方式:http:/USART的编程方法的编程方法 库函数:库函数:USART_DeInit函数函数USART_Init函数函数USART_StrucInit函数函数USART_Cmd函数函数USART_ITConfig函数函数USART_DMACmd函数函数USART_SetAddress函数函数USART_WakeUpConfig函数函数USART_ReceiverWakeUpCmd函数函数USART_LINBreakDetectionConfig函数函数USART_LINCmd函数函数USART_SendData函数函数1-12北京源智天下科技有限公司联系方式:http
8、:/USART的编程方法的编程方法(续续)库函数:库函数:USART_ReceiveData函数函数USART_SendBreak函数函数USART_SetGuardTime函数函数USART_SetPrescaler函数函数USART_SmartCardCmd函数函数USART_SmartCardNackCmd函数函数USART_HalfDuplexCmd函数函数USART_IrDAConfig函数函数USART_IrDACmd函数函数USART_GetFlagStatus函数函数USART_ClearFlag函数函数USART_GetITStatus函数函数USART_ClearITPen
9、dingBit函数函数 1-13北京源智天下科技有限公司联系方式:http:/CAN结构结构 STM32的的bxCAN的主要特点的主要特点 1-14北京源智天下科技有限公司联系方式:http:/CAN模式模式 STM32的的bxCAN具有具有7种模式:种模式:初始化模式初始化模式正常模式正常模式睡眠模式睡眠模式测试模式测试模式静默模式静默模式环回模式环回模式环回静默模式环回静默模式 联系方式:http:/北京源智天下科技有限公司CAN寄存器结构寄存器结构 typedef struct vu32 MCR;/CAN主机控制寄存器 vu32 MSR;/CAN主机状态寄存器 vu32 TSR;/CAN
10、发送状态寄存器 vu32 RF0R;/CAN接收FIFO 0寄存器 vu32 RF1R;/CAN接收FIFO 1寄存器 vu32 IER;/CAN中断使能寄存器 vu32 ESR;/CAN错误状态寄存器 vu32 BTR;/CAN位定时寄存器 u32 RESERVED088;CAN_TxMailBox_TypeDef sTxMailBox3;/Tx邮箱相关寄存器 CAN_FIFOMailBox_TypeDef sFIFOMailBox2;/FIFO邮箱相关寄存器 u32 RESERVED112;vu32 FMR;/CAN过滤主寄存器 vu32 FM0R;/CAN过滤模式寄存器 u32 RESE
11、RVED21;vu32 FS0R;/CAN过滤规模寄存器 u32 RESERVED31;vu32 FFA0R;/CAN过滤FIFO分配寄存器 u32 RESERVED41;vu32 FA0R;/过滤激活寄存器 u32 RESERVED58;CAN_FilterRegister_TypeDef sFilterRegister14;/过滤寄存器 CAN_TypeDef;联系方式:http:/北京源智天下科技有限公司CAN的编程方法的编程方法 库函数:库函数:CAN_DeInit函数函数CAN_Init函数函数CAN_FilterInit函数函数CAN_StructInit函数函数CAN_ITConfig函数函数CAN_Transmit函数函数CAN_TransmitStatus函数函数CAN_CancelTransmit函数函数CAN_FIFORelease函数函数CAN_MessagePending函数函数CAN_Receive函数函数CAN_Sleep函数函数CAN_WakeUp函数函数CAN_GetFlagStatus函数函数CAN_ClearFlag函数函数CAN_GetITStatus函数函数CAN_ClearITPendingBit函数函数 联系方式:http:/北京源智天下科技有限公司性格决定命运性格决定命运,专注成就人生专注成就人生源智天下源智天下
限制150内