資源描述:
《《異步串行通信接口》ppt課件》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、21天學(xué)嵌入式開發(fā)第十三講:異步串行通信接口課程安排USART結(jié)構(gòu)USART編程方法CAN結(jié)構(gòu)CAN編程方法USART結(jié)構(gòu)STM32的USART為通用同步異步收發(fā)器工業(yè)標(biāo)準(zhǔn)NRZ異步串行數(shù)據(jù)格式。分?jǐn)?shù)波特率發(fā)生器。同步單向通信和半雙工單線通信。LIN(局部互連網(wǎng))。智能卡協(xié)議和IrDA(紅外數(shù)據(jù))SIRENDEC規(guī)范。調(diào)制解調(diào)器(CTS/RTS)。多處理器通信能力。DMA方式。USART特征描述STM32的數(shù)據(jù)字長通信格式USART發(fā)送器USART發(fā)送配置過程如下:通過在USART_CR1寄存器上置位UE位來激活USART。通過設(shè)置USART_CR1的M位來定義傳
2、輸字長。在USART_CR2中設(shè)置停止位的位數(shù)。如果采用多緩沖器通信,配置USART_CR3中的DMA使能位(DMAT),同時設(shè)置DMA寄存器。設(shè)置USART_CR1中的TE位,發(fā)送一個空閑幀作為第一次數(shù)據(jù)發(fā)送。利用USART_BRR寄存器選擇要求的波特率。把要發(fā)送的數(shù)據(jù)寫進(jìn)USART_DR寄存器(此動作清除TXE位)。在只有一個緩沖器的情況下,對每個待發(fā)送的數(shù)據(jù)重復(fù)步驟(7)。USART接收器整個USART接收配置過程如下:將USART_CR1寄存器的UE置1來激活USART。設(shè)置USART_CR1的M位定義字長。在USART_CR2中設(shè)置停止位的個數(shù)。如果需多
3、緩沖器通信,選擇USART2_CR3中的DMA使能位(DMAT),同時設(shè)置DMA寄存器。利用波特率寄存器USART_BRR選擇希望的波特率。設(shè)置USART_CR1的RE位,激活USART接收器,使其開始尋找起始位。USART增強(qiáng)功能LIN模式USART同步模式USART單線半雙工通信USART的智能卡功能USART的IrDA模式USART的DMA通信USART的硬件流控制USART的中斷請求USART寄存器結(jié)構(gòu)typedefstruct{vu16SR;//USART的狀態(tài)寄存器u16RESERVED0;vu16DR;//USART的數(shù)據(jù)寄存器u16RESERVED
4、1;vu16BRR;//USART的波特率寄存器u16RESERVED2;vu16CR1;//USART控制寄存器1u16RESERVED3;vu16CR2;//USART控制寄存器2u16RESERVED4;vu16CR3;//USART控制寄存器3u16RESERVED5;vu16GTPR;//USART的預(yù)警時間和預(yù)分頻寄存器u16RESERVED6;}USART_TypeDef;USART的編程方法庫函數(shù):USART_DeInit函數(shù)USART_Init函數(shù)USART_StrucInit函數(shù)USART_Cmd函數(shù)USART_ITConfig函數(shù)USART_
5、DMACmd函數(shù)USART_SetAddress函數(shù)USART_WakeUpConfig函數(shù)USART_ReceiverWakeUpCmd函數(shù)USART_LINBreakDetectionConfig函數(shù)USART_LINCmd函數(shù)USART_SendData函數(shù)USART的編程方法(續(xù))庫函數(shù):USART_ReceiveData函數(shù)USART_SendBreak函數(shù)USART_SetGuardTime函數(shù)USART_SetPrescaler函數(shù)USART_SmartCardCmd函數(shù)USART_SmartCardNackCmd函數(shù)USART_HalfDuplex
6、Cmd函數(shù)USART_IrDAConfig函數(shù)USART_IrDACmd函數(shù)USART_GetFlagStatus函數(shù)USART_ClearFlag函數(shù)USART_GetITStatus函數(shù)USART_ClearITPendingBit函數(shù)CAN結(jié)構(gòu)STM32的bxCAN的主要特點(diǎn)CAN模式STM32的bxCAN具有7種模式:初始化模式正常模式睡眠模式測試模式靜默模式環(huán)回模式環(huán)回靜默模式CAN寄存器結(jié)構(gòu)typedefstruct{vu32MCR;//CAN主機(jī)控制寄存器vu32MSR;//CAN主機(jī)狀態(tài)寄存器vu32TSR;//CAN發(fā)送狀態(tài)寄存器vu32RF0R
7、;//CAN接收FIFO0寄存器vu32RF1R;//CAN接收FIFO1寄存器vu32IER;//CAN中斷使能寄存器vu32ESR;//CAN錯誤狀態(tài)寄存器vu32BTR;//CAN位定時寄存器u32RESERVED0[88];CAN_TxMailBox_TypeDefsTxMailBox[3];//Tx郵箱相關(guān)寄存器CAN_FIFOMailBox_TypeDefsFIFOMailBox[2];//FIFO郵箱相關(guān)寄存器u32RESERVED1[12];vu32FMR;//CAN過濾主寄存器vu32FM0R;//CAN過濾模式寄存器u32RESERVED2[1
8、];vu3