在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AS32X601驅動系列教程 USART_串口通訊詳解

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

掃碼添加小助手

加入工程師交流群

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

硬件設計

評估板板載了一顆CH340 usb轉ttl芯片用于串口通訊驗證,串口接在MCU串口0,對外通過usbmini標準接口上位機連接。

軟件設計

本小節實現上位機與板卡的雙向數據收發,板卡接收上位機數據,并原數據返回。

初始化流程

? 使能USART以及對應gpio時鐘

? 配置gpio復用為usart功能

? 初始化gpio結構體

? 初始化usart結構體

? 調用庫函數實現收發

代碼分析

首先進行串口初始化,在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. }

首先,我們設置了一個形參用于配置串口通訊波特率,該波特率計算同樣是通過系統時鐘初始化所讀取的總線時鐘函數提供計算基礎,因此當使用串口時,切勿漏掉該函數,否則需要手動輸入時鐘進行計算。

之后開啟GPIOD和USART0的外設時鐘,注意,在此之前不要忘了在系統時鐘初始化中開啟兩個外設掛載的總線時鐘。

然后調用庫函數配置兩個管腳復用為串口功能,然后初始化TX引腳為推挽輸出,RX管腳為浮空輸入。

最后配置USART0初始化結構體,功能配置為8位數據位,1位停止位,無校驗,使能串口。

  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. }

在主函數中,循環檢測接收狀態,當接收到數據時,調用接收函數讀取數據,并通過串口發送函數原路返回。

除此之外,串口可通過中斷方式和DMA方式進行數據收發,具體操作在中斷和DMA章節進行具體介紹。

評估板驗證

編譯燒錄代碼,打開串口調試工具并連接串口線,觀察最終效果。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動
    +關注

    關注

    12

    文章

    1914

    瀏覽量

    86832
  • 串口通訊
    +關注

    關注

    1

    文章

    265

    瀏覽量

    25520
  • dma
    dma
    +關注

    關注

    3

    文章

    576

    瀏覽量

    103086
  • USART
    +關注

    關注

    1

    文章

    201

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    第十四章 USART——串口通訊

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

    EtherCAT主站轉Profinet網關接禾川伺服X4E系列通訊案例

    在工業自動化領域,不同通訊協議之間的互聯互通一直是一個關鍵問題。當面臨將EtherCAT主站轉為Profinet協議,并與禾川伺服驅動X4E進行高效通訊的需求時,一款性能卓越的網關就
    的頭像 發表于 06-10 13:04 ?174次閱讀
    EtherCAT主站轉Profinet網關接禾川伺服<b class='flag-5'>X</b>4E<b class='flag-5'>系列</b><b class='flag-5'>通訊</b>案例

    AS32X601驅動系列教程 PLIC_中斷應用詳解

    連到PLIC,PLIC統一管理并輸出中斷請求到內核。 硬件設計 本節硬件同USART章節一致。 軟件設計 代碼分析 在之前的按鍵章節我們已經對AS32的中斷進行了簡單實用,本節將用串口的接收中斷實驗
    的頭像 發表于 05-23 17:10 ?191次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅動</b><b class='flag-5'>系列</b>教程 PLIC_中斷應用<b class='flag-5'>詳解</b>

    AS32X601驅動系列教程 GPIO_按鍵檢測詳解

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

    AS32X601驅動系列教程 GPIO_點亮LED詳解

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

    AS32X601驅動系列教程 SMU_系統時鐘詳解

    時鐘和復位的管理。在默認狀態下SMU工作在IDLE狀態。只有接收到PMU的使能信號后才開始工作。SMU模塊會根據PMU的指令自動配置COR、AXIBUS0/1/2等總線的時鐘和復位。 需要注意的是,MCU芯片AS32X601可通過BOOT選擇從外部QSPI Flash啟動和內部PFlash啟動,
    的頭像 發表于 05-23 16:01 ?320次閱讀
    <b class='flag-5'>AS32X601</b><b class='flag-5'>驅動</b><b class='flag-5'>系列</b>教程 SMU_系統時鐘<b class='flag-5'>詳解</b>

    面向工業與汽車領域的高安全可靠MCU——AS32X601系列芯片解析

    AS32X601系列是國科安芯研發的32位RISC-V架構MCU,專為高安全性、高可靠性場景設計,覆蓋工業控制、汽車電子等關鍵領域。其核心優勢在于通過硬件級安全機制、多重冗余設計及功能安全認證,滿足
    的頭像 發表于 03-14 16:40 ?488次閱讀

    AS32X601芯片技術剖析

    芯片簡介 AS32X601系列MCU是國產高可靠嵌入式處理器的重要突破,其企業宇航級型號AS32S601針對空間輻射環境與極端溫度條件優化,滿足衛星載荷控制、航天器運動控制等場景需求。該芯片采用
    的頭像 發表于 03-14 16:17 ?490次閱讀

    AS32X601雙核鎖步MCU技術優勢分析

    AS32X601是國科安芯公司研制的一系列基于32位RISC-V指令集車規級MCU處理器芯片。主頻高達180MHz,支持雙核鎖步架構,基于軟錯誤防護技術加持,顯著提高芯片安全性能。產品具有高安全、低
    的頭像 發表于 03-07 16:12 ?437次閱讀

    USB串口驅動

    USB串口驅動
    發表于 02-10 13:49 ?3次下載

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

      在現代工業自動化、通信系統和嵌入式設備中,串口通訊(Serial Communication)是一種常見的數據傳輸方式。由于其簡單、可靠且成本低廉,串口通訊被廣泛應用于各種設備之間
    的頭像 發表于 02-06 16:01 ?1178次閱讀

    CP210X串口驅動

    電子發燒友網站提供《CP210X串口驅動.zip》資料免費下載
    發表于 10-17 13:40 ?20次下載

    LABVIEW串口通訊

    labview實現串口通訊
    發表于 08-19 14:37 ?9次下載

    歐姆龍串口FINS CS_CJ系列協議全面解析

    1 驅動簡介 歐姆龍FINS CS/CJ系列PLC (CS1、CJ2等)使用__串口__通訊,外部設備可通過此口采集與PLC進行數據交互。網關使用__FINS CS/CJ
    的頭像 發表于 07-18 17:47 ?2089次閱讀
    歐姆龍<b class='flag-5'>串口</b>FINS CS_CJ<b class='flag-5'>系列</b>協議全面解析

    臺達DVP系列串口驅動全面解析

    1 驅動簡介 臺達D VP 系列P****LC (包括ES2、SS、EX等)使用 串口 通訊,外部設備可通過此口采集與PLC進行數據交互。網關使用 臺達 DVP
    的頭像 發表于 07-16 16:22 ?956次閱讀
    臺達DVP<b class='flag-5'>系列</b><b class='flag-5'>串口</b><b class='flag-5'>驅動</b>全面解析
    主站蜘蛛池模板: 亚洲伊人电影 | 久久男人的天堂色偷偷 | 草草影院私人免费入口 | 一级片在线播放 | 完全免费在线视频 | 欧美影院一区二区 | 国产r67194吃奶视频 | 亚洲精品视频免费 | 国内视频一区二区 | 国产精品一区二区三区四区 | 又粗又大撑满了好爽 | 夜夜狠操 | 久久国产精品免费网站 | 综合免费视频 | 天天综合网天天综合色不卡 | 亚洲伊人色一综合网 | 成人毛片在线播放 | 末发育娇小性色xxxxx视频 | 欧美一卡2卡三卡4卡5卡免费观看 | 九九51精品国产免费看 | 特黄三级 | 一级免费看片 | 午夜影院7cdy | 俄罗斯毛片基地 | 性欧美hd| 日韩一级在线播放免费观看 | 四虎国产精品视频免费看 | 6080国产午夜精品 | 成人在线看片 | youjizz国产| 亚洲欧洲一区二区三区在线观看 | 免费一级欧美片在线观看 | 三级精品在线观看 | 日本媚薬痉挛在线观看免费 | bt种子在线搜索 | www.黄黄黄 | 久久ww| 国产传媒在线观看视频免费观看 | 色综合久久天天综合绕观看 | 日韩精品三级 | 一级片观看 |