www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]初學(xué)stm32,初次接觸USART串口通信。對(duì)USART通信硬件原理的個(gè)人總結(jié)。從MCU(Micro Controller Unit,也就是ST芯片)出來的TTL電平經(jīng)過電平轉(zhuǎn)換芯片轉(zhuǎn)化為USB電平,從而實(shí)現(xiàn)與PC的通信。USART(Universal Synchronous

初學(xué)stm32,初次接觸USART串口通信。

對(duì)USART通信硬件原理的個(gè)人總結(jié)。從MCU(Micro Controller Unit,也就是ST芯片)出來的TTL電平經(jīng)過電平轉(zhuǎn)換芯片轉(zhuǎn)化為USB電平,從而實(shí)現(xiàn)與PC的通信。

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/異步串行接收/發(fā)送器。

這邊只作異步通信說,異步通信與同步通信的主要區(qū)別區(qū)別是時(shí)鐘,所以這邊的SLCK是關(guān)閉的。USART總共有TX、RX、nRTS、nCTS、SCLK這5個(gè)外接引腳(框圖中的SW_RX在內(nèi)部,n表示低電平有效)。在學(xué)習(xí)與PC上位機(jī)通信時(shí),是關(guān)閉硬件流控制模式的,所以異步通信只涉及到TX(Transmit)和RX(Receive)這兩個(gè)引腳。

大致思路:數(shù)據(jù)由軟件傳給發(fā)送數(shù)據(jù)寄存器USART_DR(TRD),判斷TC(Transmit complete,發(fā)送完成)是否置1。若置1,表示發(fā)送移位寄存器發(fā)送完成,發(fā)送數(shù)據(jù)寄存器中的數(shù)據(jù)發(fā)送到發(fā)送移位寄存器開始發(fā)送,判斷TXE(Transmit data register empty,發(fā)送數(shù)據(jù)寄存器為空),讀取下一個(gè)數(shù)據(jù)到TDR;若TC為0,則等待。TC置0由軟件序列(讀取USART_SR寄存器,然后寫入U(xiǎn)SART_DR寄存器),也可以向該位寫“”0“”實(shí)現(xiàn)。硬件復(fù)位時(shí),TC由硬件置1。

接收數(shù)據(jù)時(shí),數(shù)據(jù)傳入接收移位寄存器,再傳入讀取數(shù)據(jù)寄存器,這時(shí)RXNE(Read data register not empty,讀取數(shù)據(jù)寄存器不為空)置1,可產(chǎn)生中斷標(biāo)志RXNEIE。

數(shù)據(jù)格式:1位起始位,8位數(shù)據(jù)位(USART_CR1,控制寄存器1中的位12-M置0),無校驗(yàn)位(USART_SR,狀態(tài)寄存器中位1-PE置0——無奇偶校驗(yàn)錯(cuò)誤),1位停止位(USART_CR2,控制寄存器2中位13:12-STOP賦值00)。因?yàn)槭情_發(fā)板與PC機(jī)之間的通信,距離短,通信環(huán)境好,所以不設(shè)置奇偶校驗(yàn)。

使用的是USART1,TX選擇的是PA9,RX選擇的是PA10。

代碼流程:1、初始化 a、打開外設(shè)時(shí)鐘(如果想使用任何外設(shè),都要先使能時(shí)鐘),打開掛載到AHB1上的GPIOA和掛載到APB2上的USART1的時(shí)鐘,調(diào)用固件庫(kù)函數(shù)RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE)和RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE)

b、初始化串口相關(guān)的GPIO口,對(duì)GPIO_InitTypeDef GPIO_InitStruct結(jié)構(gòu)體進(jìn)行賦值,再通過GPIO_Init(GPIOA,&GPIO_InitStruct)映射給寄存器

c、配置選擇復(fù)用功能,調(diào)用固件庫(kù)函數(shù)GPIO_PinAFConfig(形參,形參,形參)確定引腳的復(fù)用功能

d、初始化串口,USART初始化結(jié)構(gòu)體,設(shè)置波特率、數(shù)據(jù)位長(zhǎng)度、停止位、校驗(yàn)位選擇、硬件流控制模式選擇、USART模式控制(使能接收/發(fā)送),最后通過USART_Init(...)完成配置

e、如果需要中斷執(zhí)行服務(wù),則初始化NVIC(嵌套向量中斷控制器),若不需要,則跳過

f、使能串口,調(diào)用USART_Cmd(.....)使能USART1

2、編寫數(shù)據(jù)發(fā)送函數(shù),由于USART_DR只有8位有效,所以這里分為字節(jié)發(fā)送、雙字節(jié)發(fā)送、字符串發(fā)送、數(shù)組發(fā)送,這四種發(fā)送均基于固件庫(kù)函數(shù)USART_SendData(...),在發(fā)一個(gè)字節(jié)時(shí),判斷TXE是否為1,若為1,則準(zhǔn)備發(fā)送下一個(gè)數(shù)據(jù)至發(fā)送數(shù)據(jù)寄存器;若為0,則等待。獲取中斷狀態(tài)位的固件庫(kù)函數(shù)為ITStatus USART_GetITStatus(...),最后可以加以判斷TC是否為1,即判斷發(fā)送是否完成。

3、編寫數(shù)據(jù)接收函數(shù),調(diào)用固件庫(kù)函數(shù)USART_ReceiveData(...)獲取最新的USARTx的數(shù)據(jù)。判斷RXNE,為1表示接收完成,為0表示未接收數(shù)據(jù),所以數(shù)據(jù)接收函數(shù)的內(nèi)容應(yīng)該在判斷RXNE為1的條件下編寫。

4、main()函數(shù)調(diào)用即可。

根據(jù)野火教程,參考手冊(cè),新手理解,純粹為個(gè)人重新回憶一遍。若有不對(duì),還請(qǐng)指出,若寫的不好,好多見諒。

作為新手,還有諸多問題不懂,1、如果設(shè)置奇偶校驗(yàn),那接收方是不是應(yīng)該要處理?如何處理?如果說單片機(jī)與PC通信是這樣,那單片機(jī)與單片機(jī)呢?

2、發(fā)送8位的數(shù)據(jù)要寫一個(gè)函數(shù),發(fā)送16位的又要寫一個(gè)函數(shù),發(fā)送數(shù)組只能發(fā)送8字節(jié)類型的數(shù)組,可能是我認(rèn)識(shí)還不夠,對(duì)我來說是不明白。


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

2025年8月13日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Asahi Kasei Microdevices (AKM) 的...

關(guān)鍵字: 數(shù)模轉(zhuǎn)換器 USB 無線揚(yáng)聲器

物聯(lián)網(wǎng)與智能化設(shè)備快速普及,供電方式的選擇直接影響設(shè)備部署的靈活性、成本與可靠性。PoE(以太網(wǎng)供電)與USB供電作為兩大主流技術(shù),分別在工業(yè)網(wǎng)絡(luò)、智能家居、消費(fèi)電子等領(lǐng)域占據(jù)關(guān)鍵地位。本文將從設(shè)備適配性、傳輸距離、功率...

關(guān)鍵字: PoE USB

在無線技術(shù)的發(fā)展歷程中,部署的簡(jiǎn)便性往往是成功的關(guān)鍵。像Wi-Fi、藍(lán)牙和早期的蜂窩技術(shù),只有在集成變得簡(jiǎn)單、無縫且實(shí)惠時(shí),才能實(shí)現(xiàn)大規(guī)模的應(yīng)用。而如今,Wi-Fi HaLow——一種專為物聯(lián)網(wǎng)(IoT)設(shè)計(jì)的遠(yuǎn)距離、低...

關(guān)鍵字: 物聯(lián)網(wǎng) Wi-Fi USB

2025年8月5日 – 專注于引入新品的全球電子元器件和工業(yè)自動(dòng)化產(chǎn)品授權(quán)代理商貿(mào)澤電子 (Mouser Electronics)即日起開售Microchip Technology的新款A(yù)VR? SD 8位MCU。AVR...

關(guān)鍵字: MCU 工業(yè)自動(dòng)化 USB

隨著高解析度音頻應(yīng)用的不斷發(fā)展和廣泛部署,諸如USB與I2S之間等不同專業(yè)接口之間的高品質(zhì)音頻轉(zhuǎn)換需求日益增長(zhǎng),由此帶來了實(shí)現(xiàn)高性能、高實(shí)時(shí)性與高靈活性的新挑戰(zhàn)。為此,邊緣AI和智能音頻專家XMOS攜手其全球首家增值分銷...

關(guān)鍵字: SoC USB 處理器

【2025年7月24日, 德國(guó)慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)近日推出新型英飛凌ID Key系列,進(jìn)一步擴(kuò)展其通用串行總線(USB)...

關(guān)鍵字: 控制器 USB 非易失性存儲(chǔ)器

其他電腦(比如安卓手機(jī)/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問一些東西。你可以使用android的USB OTG功能(是的,幾乎每個(gè)android都支持這個(gè)功能,你可以將鼠標(biāo)和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹莓派

M5Stack Cardputer非常適合作為硬件密碼管理器。它很小巧,有一個(gè)內(nèi)置鍵盤,一個(gè)SD卡插槽,運(yùn)行在帶有本地USB支持的ESP32-S3上。屏幕使其易于使用,并且由于USB HID,它可以直接在登錄字段中鍵入密...

關(guān)鍵字: 密碼管理器 M5Stack Cardputer USB

【2025年7月10日, 德國(guó)慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)為CIS的新款USB 5 Gbit/s和10 Gbit/s攝像頭提供E...

關(guān)鍵字: 控制器 USB 圖像信號(hào)處理器

Holtek 針對(duì)USB應(yīng)用推出HT82B45R低速USB OTP MCU,符合USB 2.0低速規(guī)范,支持鍵盤用的高阻抗碳膜技術(shù)(Carbon Membrane)。HT82B45R結(jié)合低功耗設(shè)計(jì)、彈性I/O配置、內(nèi)建L...

關(guān)鍵字: MCU USB 看門狗定時(shí)器
關(guān)閉