- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十三讲:异步串行通信接口
1-* 北京源智天下科技有限公司 联系方式: 联系方式: 北京源智天下科技有限公司 1-* 北京源智天下科技有限公司 联系方式: 21天学嵌入式开发 第十三讲:异步串行通信接口 课程安排 USART结构 USART编程方法 CAN结构 CAN编程方法 USART结构 STM32的USART为通用同步异步收发器 工业标准NRZ异步串行数据格式。 分数波特率发生器。 同步单向通信和半双工单线通信。 LIN(局部互连网)。 智能卡协议和IrDA(红外数据)SIR ENDEC规范。 调制解调器(CTS/RTS)。 多处理器通信能力。 DMA方式。 USART特征描述 STM32的数据字长 通信格式 USART发送器 USART发送配置过程如下: 通过在USART_CR1寄存器上置位UE位来激活USART。 通过设置USART_CR1的M位来定义传输字长。 在USART_CR2中设置停止位的位数。 如果采用多缓冲器通信,配置USART_CR3中的DMA使能位(DMAT),同时设置DMA寄存器。 设置USART_CR1中的TE位,发送一个空闲帧作为第一次数据发送。 利用USART_BRR寄存器选择要求的波特率。 把要发送的数据写进USART_DR寄存器(此动作清除TXE位)。在只有一个缓冲器的情况下,对每个待发送的数据重复步骤(7)。 USART接收器 整个USART接收配置过程如下: 将USART_CR1寄存器的UE置1来激活USART。 设置USART_CR1的M位定义字长。 在USART_CR2中设置停止位的个数。 如果需多缓冲器通信,选择USART2_CR3中的DMA使能位(DMAT),同时设置DMA寄存器。 利用波特率寄存器USART_BRR选择希望的波特率。 设置USART_CR1的RE位,激活USART接收器,使其开始寻找起始位。 USART增强功能 LIN模式 USART同步模式 USART单线半双工通信 USART的智能卡功能 USART的IrDA模式 USART的DMA通信 USART的硬件流控制 USART的中断请求 USART寄存器结构 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; 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函数 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_ClearITPendingBit函数 CAN结构 STM32的bxCAN的主要特点 CAN模式 STM32的bxCAN具有7种模式: 初始化模式 正常模式 睡眠模式 测试模式 静默模式 环回模式 环回静默模式 CAN寄存器结构 typedef struct { vu32 MCR; //
文档评论(0)