<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式硬件通信接口協(xié)議-UART(三)快速使用串口及應用

嵌入式硬件通信接口協(xié)議-UART(三)快速使用串口及應用

作者: 時(shí)間:2018-12-19 來(lái)源:網(wǎng)絡(luò ) 收藏

  一、啟用流程

本文引用地址:http://dyxdggzs.com/article/201812/395787.htm

  開(kāi)講前,先找幾款芯片的demo程序瞄一眼。

  依次有STM32的V3.5標準庫、nRF52832的官方demo以及51核的STC15系列單片機的官方DEMO。

  


  


  


  從以上的部分demo例程來(lái)看,并結文章《硬件通信接口協(xié)議-UART(一)協(xié)議基礎》的介紹,在啟用的時(shí)候,需要配置的那幾個(gè)參數有波特率、數據位、校驗位、停止位等,從demo的源碼中也是能夠體現出來(lái)的。

  而略有不同的是,在引腳配置靈活的ARM中,需要針對引腳進(jìn)行配置。

  二、驗證輸入輸出

  完成了串口的初始化,即可對輸入輸出進(jìn)行操作,來(lái)驗證串口是否可以正常的發(fā)送和接收數據。

  一般的,最直接的方式就是向輸出寄存器寫(xiě)入數據,就可以讓芯片去完成UART信號輸出到對應的引腳上。

  如下圖依次有STM32的V3.5標準庫、nRF52832的官方demo以及51核的STC15系列單片機的官方DEMO。

  


  


  


  驗證串口的輸出,即在串口初始化成功后,對串口的輸出寄存器寫(xiě)入數據,而芯片引腳則使用USB轉TTL模塊連接,USB端插入計算機的USB口,利用計算機的串口助手軟件實(shí)現對數據的收發(fā)。

  三、調試-輸出

  開(kāi)發(fā)調試過(guò)程中,輸出的內容基本上就是想查看的變量值、代碼的執行位置跟蹤、算法或者某些運算的結果等等。這些輸出,僅用于調試階段,而在人機調試過(guò)程中,使用計算機的串口助手軟件進(jìn)行交互,則輸出的數據應該便于識讀和判斷。

  1. C庫函數printf格式輸出重定向到串口輸出

  輸出串口數據過(guò)程中,需要向寄存器逐字節傳入數據的,而在傳送之前必不可少的,就是將要發(fā)送的數據、字符放到同一個(gè)Buffer后,執行輪詢(xún)的方式傳送直到buffer內容全部被傳送。

  而這個(gè)“放”的過(guò)程也是需要做些計算、判斷,尤其是增加必要的字符來(lái)描述輸出信息,保證信息的可識讀。

  在C標準庫printf函數就有格式輸出的功能,利用這個(gè)接口更便于調試輸出這個(gè)過(guò)程。

  這就需要將printf函數重定向到串口輸出上!

  實(shí)現重定向只需3步:

  Options for target選項卡內勾選UseMicroLIB

  在串口實(shí)現的*.c文件內,將stdio.h文件和stdarg.h文件包含進(jìn)來(lái)

  重新定義int fputc函數的內部實(shí)現

  


  


  完成以上3步,即可利用printf函數來(lái)格式化輸出,并且能夠在串口上接收到。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 嵌入式 串口

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>