當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]概念在STM32的參考手冊(cè)中,串口被描述成通用同步異步收發(fā)器(USART),它提供了一種靈活的方法與使用工業(yè)標(biāo)準(zhǔn)NRZ異步串行數(shù)據(jù)格式的外部設(shè)備之間進(jìn)行全雙工數(shù)據(jù)交換。(好吧我也不是很懂,暫且貼上官方定義,各位看官自

概念
在STM32的參考手冊(cè)中,串口被描述成通用同步異步收發(fā)器(USART),它提供了一種靈活的方法與使用工業(yè)標(biāo)準(zhǔn)NRZ異步串行數(shù)據(jù)格式的外部設(shè)備之間進(jìn)行全雙工數(shù)據(jù)交換。(好吧我也不是很懂,暫且貼上官方定義,各位看官自己悟吧)
配置步驟

打開(kāi)時(shí)鐘(RCC配置)
由于UART的TX和RX和AFIO都掛在APB2橋上,因此采用固件庫(kù)函數(shù)RCC_APB2PeriphClockCmd()進(jìn)行初始化。UARTx需要分情況討論,如果是UART1,則掛在APB2橋上,因此采用RCC_APB2PeriphClockCmd()進(jìn)行初始化,其余的UART2~5均掛在APB1上。

GPIO配置
GPIO的屬性包含在結(jié)構(gòu)體GPIO_InitTypeDef,其中對(duì)于TX引腳,GPIO_Mode字段設(shè)置為GPIO_Mode_AF_PP(復(fù)用推挽輸出),GPIO_Speed切換速率設(shè)置為GPIO_Speed_50MHz;對(duì)于RX引腳,GPIO_Mode字段設(shè)置為GPIO_Mode_IN_FLOATING(浮空輸入),不需要設(shè)置切換速率。最后通過(guò)GPIO_Init()使能IO口。

NVIC配置
STM32在只有一個(gè)中斷的情況下,仍然需要配置優(yōu)先級(jí),其作用是使能某條中斷的觸發(fā)通道。STM32的中斷有至多兩個(gè)層次,分別是搶占優(yōu)先級(jí)(主優(yōu)先級(jí))和子優(yōu)先級(jí)(從優(yōu)先級(jí)),而整個(gè)優(yōu)先級(jí)設(shè)置參數(shù)的長(zhǎng)度為4位,因此需要首先劃分搶占優(yōu)先級(jí)位數(shù)和子優(yōu)先級(jí)位數(shù),通過(guò)NVIC_PriorityGroupConfig()實(shí)現(xiàn);

特定設(shè)備的中斷優(yōu)先級(jí)NVIC的屬性包含在結(jié)構(gòu)體NVIC_InitTypeDef中,其中字段NVIC_IRQChannel包含了設(shè)備的中斷向量,保存在啟動(dòng)代碼中;字段NVIC_IRQChannelPreemptionPriority為主優(yōu)先級(jí)NVIC_IRQChannelSubPriority為從優(yōu)先級(jí),取值的范圍應(yīng)根據(jù)位數(shù)劃分的情況而定;最后NVIC_IRQChannelCmd字段是是否使能,一般置為ENABLE。最后通過(guò)NVIC_Init()來(lái)使能這一中斷向量。

USART配置
通過(guò)結(jié)構(gòu)體USART_InitTypeDef來(lái)確定。UART模式下的字段如下:

USART_BaudRate:波特率(每秒能傳輸?shù)臄?shù)據(jù)位),缺省值為9600。

USART_WordLength:字長(zhǎng)

USART_StopBits:停止位

USART_Parity:校驗(yàn)方式(奇偶校驗(yàn))

USART_HardwareFlowControl:硬件流控制

USART_Mode:?jiǎn)?雙工,即收發(fā)狀態(tài)。

最后通過(guò)USART_Init()來(lái)設(shè)置。

代碼匯總

voiduart_init(u32bound){GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA,ENABLE);//使能USART1和GPIOA時(shí)鐘USART_DeInit(USART1);//復(fù)位串口1(各參數(shù)置為缺省值)//USART1_TX(發(fā)送數(shù)據(jù))PA.9引腳GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;//復(fù)用推挽輸出GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化PA.9//USART1_RX(接收數(shù)據(jù))PA.10引腳GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;//浮空輸入GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化PA.10//NVIC中斷向量配置NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;//搶占優(yōu)先級(jí)置為3NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;//子優(yōu)先級(jí)置為3,優(yōu)先級(jí)依據(jù)不同的中斷重要性不同來(lái)確定。NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//IRQ通道使能NVIC_Init(&NVIC_InitStructure);//根據(jù)上面設(shè)置的參數(shù)初始化NVIC寄存器//USART初始化設(shè)置USART_InitStructure.USART_BaudRate=bound;//波特率為9600;USART_InitStructure.USART_WordLength=USART_WordLength_8b;//字長(zhǎng)為8位數(shù)據(jù)USART_InitStructure.USART_StopBits=USART_StopBits_1;//1個(gè)停止位USART_InitStructure.USART_Parity=USART_Parity_No;//無(wú)奇偶校驗(yàn)位USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//無(wú)硬件數(shù)據(jù)流控制USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;//收發(fā)模式USART_Init(USART1,&USART_InitStructure);//串口初始化USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//中斷開(kāi)啟USART_Cmd(USART1,ENABLE);//串口使能}123456789101112131415161718192021222324252627282930313233343536373839


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉