版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.一建立STM32cubeMX工程1.建立新工程,選擇芯片STM32F302CCTx精品文檔放心下載2.在Pinout中時(shí)鐘配置為高速外部時(shí)鐘,UART配置為異步通信,cube會(huì)自動(dòng)分配引腳。精品文檔放心下載3.ClockConfiguration中配置如下精品文檔放心下載.4.configuration中點(diǎn)擊USART1可進(jìn)入配置感謝閱讀在USART1configuration中ParameterSettings可以配置波特率,發(fā)送數(shù)據(jù)字長(zhǎng),奇偶謝謝閱讀校驗(yàn)位和停止位等。NVICSetting可以配置中斷優(yōu)先級(jí)。謝謝閱讀.5.生成keil軟件代碼點(diǎn)擊工具欄中的齒輪按鈕,可以選擇代碼的開發(fā)平臺(tái),ok結(jié)束。(文件保存路徑一定要是感謝閱讀全英文的)進(jìn)過了我們一系列的配置,cube會(huì)為我們自動(dòng)生成keil軟件的代碼,代碼中包括工程所需精品文檔放心下載的固件庫(kù),配套的頭文件,啟動(dòng)文件及用戶文件。在main.c中包括了我們工程所需外設(shè)的謝謝閱讀初始化,包括了系統(tǒng)時(shí)鐘初始化,中斷初始化,GPIO初始化,USART1初始化,HAL庫(kù)初謝謝閱讀.始化。我們只需要在main.c中添加我們自己的代碼就可以了。精品文檔放心下載二keil軟件代碼及HAL庫(kù)使用UART_HandleTypeDefhuart1;生成的代碼中有聲明一個(gè)USART處理的結(jié)構(gòu)體精品文檔放心下載.HAL庫(kù)中串口的數(shù)據(jù)收發(fā)有四個(gè)函數(shù)HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef*huart, uint8_t感謝閱讀*pData,uint16_tSize,uint32_tTimeout);精品文檔放心下載HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t精品文檔放心下載*pData,uint16_tSize,uint32_tTimeout);感謝閱讀指針huart指向我們之前定義的USART處理結(jié)構(gòu)體,我們將在函數(shù)中對(duì)結(jié)構(gòu)體中的參數(shù)進(jìn)精品文檔放心下載行操作。pDate是我們自己定義的數(shù)據(jù)發(fā)送接收緩存,Size發(fā)送接收數(shù)據(jù)個(gè)數(shù),Timeout精品文檔放心下載超時(shí)持續(xù)時(shí)間。UART狀態(tài)的結(jié)構(gòu)體:我們?cè)诎l(fā)送接收函數(shù)中要經(jīng)常對(duì)USART的狀態(tài)進(jìn)行判斷,以便我們對(duì)函數(shù)結(jié)構(gòu)體中的參數(shù)精品文檔放心下載進(jìn)行操作,發(fā)送函數(shù)一開始定義了一個(gè)uint16_t*tmp的指針。我們?cè)谶@里判斷發(fā)送接收的字長(zhǎng)(8byte精品文檔放心下載或9byte),當(dāng)傳送的數(shù)據(jù)是9位數(shù)據(jù)時(shí),HAL_UART_Receive_IT函數(shù)第二參數(shù)要求傳參精品文檔放心下載.uint8_t類型,到這里不夠,于是強(qiáng)轉(zhuǎn)uint16_t類型,將低9位數(shù)據(jù)保留移交給tmp,同感謝閱讀時(shí)指針移動(dòng)2個(gè)8位,也就是huart->pRxBuffPtr+=2。這樣,就能解釋為何在下面的8精品文檔放心下載位數(shù)據(jù)位不需要tmp中間變量了,直接將數(shù)據(jù)放入我們的數(shù)據(jù)緩存地址。謝謝閱讀中斷處理函數(shù):打開中斷后會(huì)先調(diào)用這個(gè)中斷處理函數(shù)(該函數(shù)在啟動(dòng)文件stm32f3xx_it.c中)謝謝閱讀在 void HAL_UART_IRQHandler(UART_HandleTypeDef*huart)函數(shù)中會(huì)使用精品文檔放心下載__HAL_UART_GET_IT和__HAL_UART_GET_IT_SOURCE先檢查各個(gè)中斷是否被占用和是感謝閱讀否失效,在調(diào)用中斷之前還會(huì)進(jìn)行錯(cuò)誤的檢查。OverRunError、Noise、FramingError、精品文檔放心下載ParityError等.調(diào)用UART_Receive_IT();中斷接收函數(shù)。感謝閱讀調(diào)用UART_Transmit_IT();中斷發(fā)送函數(shù)。精品文檔放心下載(注意UART_Transmit_IT()和HAL_UART_Transmit_IT()函數(shù))精品文檔放心下載HAL_UART_Transmit_IT在主函數(shù)中調(diào)用精品文檔放心下載UART_Transmit_IT在中斷處理函數(shù)IRQHandle()中調(diào)用謝謝閱讀HAL_StatusTypeDefHAL_UART_Transmit_IT(UART_HandleTypeDef*huart,uint8_t謝謝閱讀*pData,uint16_tSize);HAL_StatusTypeDefHAL_UART_Receive_IT(UART_HandleTypeDef*huart, uint8_t精品文檔放心下載*pData,uint16_tSize);.中斷函數(shù)一開始會(huì)判斷是否處于發(fā)送狀態(tài),如果不是返回HAL_BUSY。精品文檔放心下載數(shù)據(jù)處理與之前的HAL_UART_Receive_IT()接收函數(shù)一致,當(dāng)串口接收到一個(gè)數(shù)據(jù)時(shí),HAL感謝閱讀庫(kù)在這時(shí)不會(huì)關(guān)閉中斷,它在將指定RxXferCount的接收個(gè)數(shù)遞減,如果不為零,是不會(huì)謝謝閱讀往下執(zhí)行的,中斷依舊開著,回調(diào)也不會(huì)執(zhí)行,會(huì)把數(shù)據(jù)一直往指定地址空間放,直到計(jì)數(shù)感謝閱讀器為0時(shí)結(jié)束。這時(shí)才調(diào)用HAL_UART_RxCpltCallback()回調(diào)函數(shù);謝謝閱讀數(shù)據(jù)幀的個(gè)數(shù)必須是所傳參數(shù)的整數(shù)倍,例如,你想一個(gè)中斷收5個(gè)數(shù)據(jù),但是實(shí)際數(shù)據(jù)精品文檔放心下載只有3個(gè),它會(huì)一直等到5個(gè)才結(jié)束接收,不然不會(huì)去調(diào)回調(diào)函數(shù),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電伴熱施工合同
- 職場(chǎng)技能提升中的學(xué)習(xí)策略探討
- 科技教育中實(shí)驗(yàn)教學(xué)的創(chuàng)新策略研究
- 科技助力下的醫(yī)療行業(yè)安全教育培訓(xùn)實(shí)踐
- 教育心理學(xué)視角下的創(chuàng)新教育方法
- 校園智能化升級(jí)的關(guān)鍵-學(xué)??萍紝?shí)驗(yàn)室設(shè)施規(guī)劃
- 跨越學(xué)科邊界自我在學(xué)習(xí)中的多元應(yīng)用與挑戰(zhàn)
- 二零二五年度船舶建造與融資租賃綜合服務(wù)合同范本4篇
- 2025年家庭醫(yī)生咨詢服務(wù)合同
- 2025年滬教新版九年級(jí)歷史上冊(cè)階段測(cè)試試卷
- 環(huán)境監(jiān)測(cè)對(duì)環(huán)境保護(hù)的意義
- 2023年數(shù)學(xué)競(jìng)賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2024年低壓電工證理論考試題庫(kù)及答案
- 2023年十天突破公務(wù)員面試
- 《瘋狂動(dòng)物城》中英文對(duì)照(全本臺(tái)詞)
- 醫(yī)院住院醫(yī)師規(guī)范化培訓(xùn)證明(樣本)
- 小學(xué)六年級(jí)語(yǔ)文閱讀理解100篇(及答案)
- 氣功修煉十奧妙
- 安徽省物業(yè)服務(wù)標(biāo)準(zhǔn)
- 勾股定理的歷史與證明課件
評(píng)論
0/150
提交評(píng)論