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

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

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

3天內不再提示

關于一種高效printf打印方式

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 作者:黃工的嵌入式技術 ? 2020-02-29 16:29 ? 次閱讀

1寫在前面

SWO:Serial Wire Output,串行線輸出

RTT:Real Time Transfer,實時傳輸

前面SWO文章,實現原理是通過MCU的SWO引腳輸出信息(到顯示終端SWV)。

而本文講述的RTT不需要通過額外SWO引腳,即可實現printf輸出,而且性能(耗時)遠高于SWO。

2關于RTT

SEGGER實時傳輸(RTT)是一種在嵌入式應用中實現交互式用戶I/O的技術。

它結合了SWO和半主機( semihosting)的優點,具有很高的性能。

使用RTT,可以從目標微控制器輸出信息,并以非常高的速度向應用程序發送輸入,而不會影響目標的實時性。

Cortex - M0不支持SWO,而本文講述的RTT則支持Cortex - M0,文末提供STM32F0工程。

3關于J-Link RTT Viewer

J-Link RTT Viewer是在調試主機上使用RTT功能的Windows GUI應用程序。

RTT Viewer可以獨立使用,打開自己與J-Link的連接,并與正在運行的調試會話目標或并行,連接到它并使用現有的J-Link連接。

RTT Viewer支持RTT的主要功能:

·通道0上的終端輸出

·將文本輸入發送到通道0

·最多16個虛擬終端,只有一個目標通道

·控制文本輸出:彩色文本,擦除控制臺

·在通道1上記錄數據

·

·

本文主要結合J-Link RTT Viewer講述,當然支持RTT的還有J-Link RTT Client 和J-Link RTT Logger。

更多相關介紹,可以參看:

https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer

(公號不支持外鏈接,請復制鏈接到瀏覽器打開)

4獲取RTT源碼

我們需要在工程中添加RTT源碼,同時需要J-Link RTT Viewer查看器支持。

J-Link / J-Trace下載地址(Windows版本):

https://www.segger.com/downloads/jlink/JLink_Windows.exe

安裝之后,在安裝目錄下包含RTT源碼:

C:Program Files (x86)SEGGERJLinkSamplesRTT

解壓SEGGER_RTT_V***.zip之后,復制整個RTT目錄源碼到你工程。

提示:

解壓之后,只需復制RTT目錄就行。

4.1 添加RTT到工程

添加源碼文件到工程主要有兩個步驟:1.添加源碼文件到工程。 2.添加文件路徑。

這里不講述具體添加過程,Keil 和 IAR之前有講述,請參看我的文章:

Keil新建基礎軟件工程

IAR新建基礎軟件工程

當然,我下面有提供添加好的源碼工程。

4.2 應用程序

調用RTT的打印,和常規的printf類似。

添加頭文件:#include "SEGGER_RTT.h"

再調用SEGGER_RTT_printf函數打印輸出:

這里SEGGER_RTT_printf和print不同的是:前面多了一個“終端號”參數。(我們使用終端0)

5RTT Viewer配置、輸出

和前面講述的SWV查看器類似,配置相關信息即可輸出。

安裝目錄:C:Program Files (x86)SEGGERJLink

下載程序到MCU,連接J-Link,打開安裝目錄下的J-Link RTT Viewer,配置參數:

輸出效果:

6下載

為方便大家理解,提供源碼工程下載,參考代碼:

STM32F051(HAL)_JLink-RTT

STM32F103(HAL)_JLink-RTT

百度網盤:

https://pan.baidu.com/s/1aYBuHtOgtLqLvj6SsMYlQA

提取碼:nbd3

提示:

1.公眾號不支持外鏈接,請復制鏈接到瀏覽器打開。

2.源碼僅供個人學習參考,不一定適用于實際項目。

3.若鏈接失效,請關注公眾號,回復『printf系列教程』獲取最新鏈接。

7

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

    關注

    0

    文章

    237

    瀏覽量

    33908
  • SWOT
    +關注

    關注

    0

    文章

    4

    瀏覽量

    7970
  • Printf
    +關注

    關注

    0

    文章

    83

    瀏覽量

    13686
收藏 人收藏

    評論

    相關推薦

    一種新型高效率的服務器電源系統

    一種新型高效率的服務器電源系統
    發表于 12-19 16:45 ?1次下載

    一種簡單高效配置FPGA的方法

    本文描述了一種簡單高效配置FPGA的方法,該方法利用微處理器從串行外圍接口(SPI)閃存配置FPGA設備。這種方法減少了硬件組件、板空間和成本。
    的頭像 發表于 10-24 14:57 ?745次閱讀
    <b class='flag-5'>一種</b>簡單<b class='flag-5'>高效</b>配置FPGA的方法

    激光打印機好還是噴墨式打印機好

    激光打印機與噴墨式打印機作為目前市場上主流的兩打印設備,各自具有獨特的特點和適用場景。 、激光打印
    的頭像 發表于 10-14 13:48 ?1103次閱讀

    光墨打印機是什么_光墨打印機為何不能普及

    光墨打印機是聯想公司于2011年推出的一種創新打印設備,它融合了噴墨和激光打印機的優勢技術,為打印市場帶來了全新的解決方案。以下是
    的頭像 發表于 09-16 15:42 ?401次閱讀

    還不會嗎?三分鐘讓你速通Printf~

    、Printf簡介Printf個標準的c庫API,用來打印信息顯示的。Printf的底層輸
    的頭像 發表于 07-27 08:11 ?348次閱讀
    還不會嗎?三分鐘讓你速通<b class='flag-5'>Printf</b>~

    STM32F1HAL TIM2定時printf打印出現丟數值的原因?

    出現數據丟失。(printf打印放在main里面沒有這個情況) 例子如 float A=25.6666;float B=24.7777;實際打印出來:第一種情況:A=2.0000;B=
    發表于 06-04 08:03

    STM32CubeIDE printf浮點數,浮點數丟失數值的原因?

    出來:第一種情況:A=2.0000;B=0.0000;第二情況:A=-2.0000; B
    發表于 06-03 07:07

    CC2340R5無法讀取到按鍵按下的動作怎么解決?

    電平,自己實現長按/短按的邏輯判斷。 調用接口GPIO_read;如下所示: MenuModule_printf()打印方式已調整為滾屏打印; 經驗證task1中的GPIO_toggle(CONFIG_GPIO_LED_GRE
    發表于 05-30 07:59

    關于使用DAVE 4開發XMC4200時UART打印的問題求解

    主題關于使用 DAVE 4 開發 XMC4200 時 UART 打印問題的技術詢問 目前,我在使用 DAVE 4 為 XMC4200 進行開發時遇到了個問題。 按照論壇上提供的重定向配置指南,我
    發表于 05-21 06:35

    【GD32H757Z海棠派開發板使用手冊】第九講 USART-printf打印實驗

    通過本實驗主要學習以下內容: ?串口簡介 ?GD32H757串口工作原理 ?使用printf打印信息
    的頭像 發表于 05-15 11:39 ?797次閱讀
    【GD32H757Z海棠派開發板使用手冊】第九講 USART-<b class='flag-5'>printf</b><b class='flag-5'>打印</b>實驗

    【GD32F470紫藤派開發板使用手冊】第九講 USART-printf打印實驗

    通過本實驗主要學習以下內容: 串口簡介 GD32F470串口工作原理 使用printf打印信息
    的頭像 發表于 05-13 10:14 ?1823次閱讀
    【GD32F470紫藤派開發板使用手冊】第九講  USART-<b class='flag-5'>printf</b><b class='flag-5'>打印</b>實驗

    條形碼標簽和條碼打印機哪個好?

    對于您的問題,“條形碼標簽”和“條碼打印機”哪個好,實際上取決于您的具體需求。1.條碼打印機的優點條形碼打印機是一種以熱為基礎的打印機,主要
    的頭像 發表于 05-08 10:56 ?736次閱讀
    條形碼標簽和條碼<b class='flag-5'>打印</b>機哪個好?

    用keil仿真無法用printf打印怎么解決?

    用keil仿真 無法用printf打印.想用printf重定向到Usart1的方法,使printf打印信息能夠在UART#1的窗口
    發表于 04-11 08:20

    STM32的疑難雜癥之Printf的使用

    、Printf簡介Printf個標準的C庫API,用來打印信息顯示的。Printf的底層輸
    的頭像 發表于 04-02 08:09 ?3887次閱讀
    STM32的疑難雜癥之<b class='flag-5'>一</b>:<b class='flag-5'>Printf</b>的使用

    一種高效1.5V/4.2V的LED驅動器電路

    本文介紹了一種高效的 1.5 V 至 4.2 V LED驅動器電路,可與標準鋰離子電池起使用,以增強照明、延長備用電池和延長電池壽命。
    的頭像 發表于 02-25 14:19 ?1274次閱讀
    <b class='flag-5'>一種</b><b class='flag-5'>高效</b>1.5V/4.2V的LED驅動器電路
    主站蜘蛛池模板: 69日本xxxxxxxxx13| 中文字幕1区| 天堂资源在线| 日日舔夜夜操| 免费国产99久久久香蕉| 国产精品福利在线观看免费不卡| 操天天| 国产精品欧美激情第一页 | 欧美军同video69视频| 欧美日韩国产成人高清视频| 久久99精品久久久久久久野外| 国产视频三区| 综合天天| 免费一级特黄特色大片 | 成人淫片| 天天干天天谢| 狠狠夜夜| 69日本xxxxxxxxx29| 妖精视频永久在线入口| 色婷婷5月| 久久精品久| 亚洲午夜久久久久影院| 免费看一级黄色录像| 国产性猛交xx乱| 中文字幕有码在线视频| 色婷婷视频在线| 精品久久成人| 午夜精品国产| 4388x17亚洲最大成人网| 亚洲视频入口| 天堂在线看| 久久夜色精品国产亚洲噜噜| 一本大道香蕉大vr在线吗视频| 加勒比在线免费视频| 亚洲综合色色图| 婷婷色婷婷| 国产农村三片免费网站| 日本欧美强乱视频在线| 69日本xxxxxxxxx30| 亚色图| 国产一级特黄高清在线大片|