一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AS32X601驅(qū)動(dòng)系列教程 USART_串口通訊詳解

安芯 ? 來(lái)源:jf_29981791 ? 作者:jf_29981791 ? 2025-05-23 16:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

國(guó)科安芯的AS32系列MCU芯片集成7路USART,能夠靈活地與外部設(shè)備進(jìn)行全雙工數(shù)據(jù)交換,滿足外部設(shè)備對(duì)工業(yè)標(biāo)準(zhǔn) NRZ 異步串行數(shù)據(jù)格式的要求。USART 通過(guò)小數(shù)波特率發(fā)生器實(shí)現(xiàn)了多種波特率。 USART 不僅支持同步單向通信和半雙工單線通信,以及 LIN(局域互連網(wǎng)絡(luò))和調(diào)制解調(diào)器操作 (CTS/RTS) 通過(guò)配置多個(gè)緩沖區(qū)使用 DMA(直接存儲(chǔ)器訪問(wèn))可實(shí)現(xiàn)高速數(shù)據(jù)通信,其通信數(shù)據(jù)格式如下:

硬件設(shè)計(jì)

評(píng)估板板載了一顆CH340 usb轉(zhuǎn)ttl芯片用于串口通訊驗(yàn)證,串口接在MCU串口0,對(duì)外通過(guò)usbmini標(biāo)準(zhǔn)接口上位機(jī)連接。

軟件設(shè)計(jì)

本小節(jié)實(shí)現(xiàn)上位機(jī)與板卡的雙向數(shù)據(jù)收發(fā),板卡接收上位機(jī)數(shù)據(jù),并原數(shù)據(jù)返回。

初始化流程

? 使能USART以及對(duì)應(yīng)gpio時(shí)鐘

? 配置gpio復(fù)用為usart功能

? 初始化gpio結(jié)構(gòu)體

? 初始化usart結(jié)構(gòu)體

? 調(diào)用庫(kù)函數(shù)實(shí)現(xiàn)收發(fā)

代碼分析

首先進(jìn)行串口初始化,在Bsp文件夾中新建新建print.c和print.h,之后添加到工程目錄下,在log.c中添加初始化代碼:

  1. void User_Print_Init(uint32_t BaudRate)
  2. {
  3. USART_InitTypeDef USART_InitStructure;
  4. GPIO_InitTypeDef GPIO_InitStructure;
  5. GPIOD_CLK_ENABLE();
  6. USART0_CLK_ENABLE();
  7. / Set GPIO multiplex mapping /
  8. GPIO_PinAFConfig(GPIOD, GPIO_PinSource8, GPIO_AF_USART0); / USART0_TX /
  9. GPIO_PinAFConfig(GPIOD, GPIO_PinSource9, GPIO_AF_USART0); / USART0_RX /
  10. / GPIO Configure /
  11. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  12. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  13. GPIO_InitStructure.GPIO_OType = GPIO_Out_PP;
  14. GPIO_InitStructure.GPIO_OStrength = GPIO_OStrength_4_5mA;
  15. GPIO_Init(GPIOD, &GPIO_InitStructure);
  16. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  17. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  18. GPIO_InitStructure.GPIO_IType = GPIO_IN_FLOATING;
  19. GPIO_InitStructure.GPIO_OStrength = GPIO_OStrength_4_5mA;
  20. GPIO_Init(GPIOD, &GPIO_InitStructure);
  21. USART_DeInit(USART0);
  22. USART_StructInit(&USART_InitStructure);
  23. / Initializes the USART0 /
  24. USART_InitStructure.USART_BaudRate = BaudRate;
  25. USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  26. USART_InitStructure.USART_StopBits = USART_StopBits_1;
  27. USART_InitStructure.USART_Parity = USART_Parity_No;
  28. USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  29. USART_InitStructure.USART_OverSampling = USART_OverSampling_16;
  30. USART_Init(USART0, &USART_InitStructure);
  31. USART_Cmd(USART0, ENABLE);
  32. }

首先,我們?cè)O(shè)置了一個(gè)形參用于配置串口通訊波特率,該波特率計(jì)算同樣是通過(guò)系統(tǒng)時(shí)鐘初始化所讀取的總線時(shí)鐘函數(shù)提供計(jì)算基礎(chǔ),因此當(dāng)使用串口時(shí),切勿漏掉該函數(shù),否則需要手動(dòng)輸入時(shí)鐘進(jìn)行計(jì)算。

之后開(kāi)啟GPIOD和USART0的外設(shè)時(shí)鐘,注意,在此之前不要忘了在系統(tǒng)時(shí)鐘初始化中開(kāi)啟兩個(gè)外設(shè)掛載的總線時(shí)鐘。

然后調(diào)用庫(kù)函數(shù)配置兩個(gè)管腳復(fù)用為串口功能,然后初始化TX引腳為推挽輸出,RX管腳為浮空輸入。

最后配置USART0初始化結(jié)構(gòu)體,功能配置為8位數(shù)據(jù)位,1位停止位,無(wú)校驗(yàn),使能串口。

  1. while(1)
  2. {
  3. if(SET == USART_GetFlagStatus(USART0, USART_FLAG_RXFNE))
  4. {
  5. usart_data = USART_ReceiveData(USART0);
  6. USART_SendData(USART0,usart_data);
  7. }
  8. }

在主函數(shù)中,循環(huán)檢測(cè)接收狀態(tài),當(dāng)接收到數(shù)據(jù)時(shí),調(diào)用接收函數(shù)讀取數(shù)據(jù),并通過(guò)串口發(fā)送函數(shù)原路返回。

除此之外,串口可通過(guò)中斷方式和DMA方式進(jìn)行數(shù)據(jù)收發(fā),具體操作在中斷和DMA章節(jié)進(jìn)行具體介紹。

評(píng)估板驗(yàn)證

編譯燒錄代碼,打開(kāi)串口調(diào)試工具并連接串口線,觀察最終效果。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    12

    文章

    1916

    瀏覽量

    86913
  • 串口通訊
    +關(guān)注

    關(guān)注

    1

    文章

    265

    瀏覽量

    25543
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    576

    瀏覽量

    103206
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    201

    瀏覽量

    31941
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    第十四章 USART——串口通訊

    本章介紹了USART串口通訊,含物理層(RS-232、TTL電平)、協(xié)議層(波特率、數(shù)據(jù)幀),及W55MH32的USART功能與應(yīng)用。
    的頭像 發(fā)表于 06-14 16:30 ?947次閱讀
    第十四章 <b class='flag-5'>USART</b>——<b class='flag-5'>串口</b><b class='flag-5'>通訊</b>

    EtherCAT主站轉(zhuǎn)Profinet網(wǎng)關(guān)接禾川伺服X4E系列通訊案例

    在工業(yè)自動(dòng)化領(lǐng)域,不同通訊協(xié)議之間的互聯(lián)互通一直是一個(gè)關(guān)鍵問(wèn)題。當(dāng)面臨將EtherCAT主站轉(zhuǎn)為Profinet協(xié)議,并與禾川伺服驅(qū)動(dòng)X4E進(jìn)行高效通訊的需求時(shí),一款性能卓越的網(wǎng)關(guān)就
    的頭像 發(fā)表于 06-10 13:04 ?193次閱讀
    EtherCAT主站轉(zhuǎn)Profinet網(wǎng)關(guān)接禾川伺服<b class='flag-5'>X</b>4E<b class='flag-5'>系列</b><b class='flag-5'>通訊</b>案例

    AS32X601驅(qū)動(dòng)系列教程 PLIC_中斷應(yīng)用詳解

    連到PLIC,PLIC統(tǒng)一管理并輸出中斷請(qǐng)求到內(nèi)核。 硬件設(shè)計(jì) 本節(jié)硬件同USART章節(jié)一致。 軟件設(shè)計(jì) 代碼分析 在之前的按鍵章節(jié)我們已經(jīng)對(duì)AS32的中斷進(jìn)行了簡(jiǎn)單實(shí)用,本節(jié)將用串口的接收中斷實(shí)驗(yàn)
    的頭像 發(fā)表于 05-23 17:10 ?200次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>系列</b>教程 PLIC_中斷應(yīng)用<b class='flag-5'>詳解</b>

    AS32X601驅(qū)動(dòng)系列教程 GPIO_按鍵檢測(cè)詳解

    在嵌入式系統(tǒng)開(kāi)發(fā)中,GPIO(通用輸入輸出端口)是實(shí)現(xiàn)硬件與軟件交互的關(guān)鍵組件。本節(jié)主要利用的時(shí)GPIO的輸入采集功能,本節(jié)的主要功能為,讀取板載按鍵,當(dāng)按鍵按下時(shí),對(duì)應(yīng)led亮起,抬起按鍵,對(duì)應(yīng)led熄滅。 硬件設(shè)計(jì) 評(píng)估板板載三個(gè)機(jī)械按鍵,分別接入MCU的PE10、PB4、PB3,當(dāng)按鍵按下時(shí),控制引腳通過(guò)按鍵接地,表現(xiàn)為低電平,當(dāng)按鍵抬起時(shí),io通過(guò)電阻連接到VCC,此時(shí)表現(xiàn)為高電平。 軟件設(shè)計(jì) 代碼分析 本節(jié)主要驗(yàn)證GPIO的輸入功能,所不同的是
    的頭像 發(fā)表于 05-23 16:44 ?267次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>系列</b>教程 GPIO_按鍵檢測(cè)<b class='flag-5'>詳解</b>

    AS32X601驅(qū)動(dòng)系列教程 GPIO_點(diǎn)亮LED詳解

    的大門。自本章開(kāi)始,正式開(kāi)始用代碼控制AS32x601各外設(shè)完成功能配置。 需要注意的是,AS32X601提供了8組GPIO,其中GPIOA~GPIOG寄存器操作完全一致,但在使用GPIOH的時(shí)候,寄存器列表中間少了一個(gè)32位寄存器,因此在使用過(guò)程中容易造成誤操作,我們?cè)?/div>
    的頭像 發(fā)表于 05-23 16:14 ?210次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>系列</b>教程 GPIO_點(diǎn)亮LED<b class='flag-5'>詳解</b>

    AS32X601驅(qū)動(dòng)系列教程 SMU_系統(tǒng)時(shí)鐘詳解

    時(shí)鐘和復(fù)位的管理。在默認(rèn)狀態(tài)下SMU工作在IDLE狀態(tài)。只有接收到PMU的使能信號(hào)后才開(kāi)始工作。SMU模塊會(huì)根據(jù)PMU的指令自動(dòng)配置COR、AXIBUS0/1/2等總線的時(shí)鐘和復(fù)位。 需要注意的是,MCU芯片AS32X601可通過(guò)BOOT選擇從外部QSPI Flash啟動(dòng)和內(nèi)部PFlash啟動(dòng),
    的頭像 發(fā)表于 05-23 16:01 ?335次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>系列</b>教程 SMU_系統(tǒng)時(shí)鐘<b class='flag-5'>詳解</b>

    面向工業(yè)與汽車領(lǐng)域的高安全可靠MCU——AS32X601系列芯片解析

    AS32X601系列是國(guó)科安芯研發(fā)的32位RISC-V架構(gòu)MCU,專為高安全性、高可靠性場(chǎng)景設(shè)計(jì),覆蓋工業(yè)控制、汽車電子等關(guān)鍵領(lǐng)域。其核心優(yōu)勢(shì)在于通過(guò)硬件級(jí)安全機(jī)制、多重冗余設(shè)計(jì)及功能安全認(rèn)證,滿足
    的頭像 發(fā)表于 03-14 16:40 ?500次閱讀

    AS32X601芯片技術(shù)剖析

    芯片簡(jiǎn)介 AS32X601系列MCU是國(guó)產(chǎn)高可靠嵌入式處理器的重要突破,其企業(yè)宇航級(jí)型號(hào)AS32S601針對(duì)空間輻射環(huán)境與極端溫度條件優(yōu)化,滿足衛(wèi)星載荷控制、航天器運(yùn)動(dòng)控制等場(chǎng)景需求。該芯片采用
    的頭像 發(fā)表于 03-14 16:17 ?504次閱讀

    AS32X601雙核鎖步MCU技術(shù)優(yōu)勢(shì)分析

    AS32X601是國(guó)科安芯公司研制的一系列基于32位RISC-V指令集車規(guī)級(jí)MCU處理器芯片。主頻高達(dá)180MHz,支持雙核鎖步架構(gòu),基于軟錯(cuò)誤防護(hù)技術(shù)加持,顯著提高芯片安全性能。產(chǎn)品具有高安全、低
    的頭像 發(fā)表于 03-07 16:12 ?457次閱讀

    USB串口驅(qū)動(dòng)

    USB串口驅(qū)動(dòng)
    發(fā)表于 02-10 13:49 ?3次下載

    串口通訊隔離器的定義與作用

      在現(xiàn)代工業(yè)自動(dòng)化、通信系統(tǒng)和嵌入式設(shè)備中,串口通訊(Serial Communication)是一種常見(jiàn)的數(shù)據(jù)傳輸方式。由于其簡(jiǎn)單、可靠且成本低廉,串口通訊被廣泛應(yīng)用于各種設(shè)備之間
    的頭像 發(fā)表于 02-06 16:01 ?1237次閱讀

    CP210X串口驅(qū)動(dòng)

    電子發(fā)燒友網(wǎng)站提供《CP210X串口驅(qū)動(dòng).zip》資料免費(fèi)下載
    發(fā)表于 10-17 13:40 ?20次下載

    LABVIEW串口通訊

    labview實(shí)現(xiàn)串口通訊
    發(fā)表于 08-19 14:37 ?9次下載

    歐姆龍串口FINS CS_CJ系列協(xié)議全面解析

    1 驅(qū)動(dòng)簡(jiǎn)介 歐姆龍F(tuán)INS CS/CJ系列PLC (CS1、CJ2等)使用__串口__通訊,外部設(shè)備可通過(guò)此口采集與PLC進(jìn)行數(shù)據(jù)交互。網(wǎng)關(guān)使用__FINS CS/CJ
    的頭像 發(fā)表于 07-18 17:47 ?2123次閱讀
    歐姆龍<b class='flag-5'>串口</b>FINS CS_CJ<b class='flag-5'>系列</b>協(xié)議全面解析

    臺(tái)達(dá)DVP系列串口驅(qū)動(dòng)全面解析

    1 驅(qū)動(dòng)簡(jiǎn)介 臺(tái)達(dá)D VP 系列P****LC (包括ES2、SS、EX等)使用 串口 通訊,外部設(shè)備可通過(guò)此口采集與PLC進(jìn)行數(shù)據(jù)交互。網(wǎng)關(guān)使用 臺(tái)達(dá) DVP
    的頭像 發(fā)表于 07-16 16:22 ?977次閱讀
    臺(tái)達(dá)DVP<b class='flag-5'>系列</b><b class='flag-5'>串口</b><b class='flag-5'>驅(qū)動(dòng)</b>全面解析