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

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

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

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

關(guān)于一種高效printf打印方式

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-29 16:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1寫在前面

SWO:Serial Wire Output,串行線輸出

RTT:Real Time Transfer,實時傳輸

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

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

2關(guān)于RTT

SEGGER實時傳輸(RTT)是一種在嵌入式應(yīng)用中實現(xiàn)交互式用戶I/O的技術(shù)。

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

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

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

3關(guān)于J-Link RTT Viewer

J-Link RTT Viewer是在調(diào)試主機上使用RTT功能的Windows GUI應(yīng)用程序。

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

RTT Viewer支持RTT的主要功能:

·通道0上的終端輸出

·將文本輸入發(fā)送到通道0

·最多16個虛擬終端,只有一個目標(biāo)通道

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

·在通道1上記錄數(shù)據(jù)

·

·

本文主要結(jié)合J-Link RTT Viewer講述,當(dāng)然支持RTT的還有J-Link RTT Client 和J-Link RTT Logger。

更多相關(guān)介紹,可以參看:

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

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

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之后,復(fù)制整個RTT目錄源碼到你工程。

提示:

解壓之后,只需復(fù)制RTT目錄就行。

4.1 添加RTT到工程

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

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

Keil新建基礎(chǔ)軟件工程

IAR新建基礎(chǔ)軟件工程

當(dāng)然,我下面有提供添加好的源碼工程。

4.2 應(yīng)用程序

調(diào)用RTT的打印,和常規(guī)的printf類似。

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

再調(diào)用SEGGER_RTT_printf函數(shù)打印輸出:

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

5RTT Viewer配置、輸出

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

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

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

輸出效果:

6下載

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

STM32F051(HAL)_JLink-RTT

STM32F103(HAL)_JLink-RTT

百度網(wǎng)盤:

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

提取碼:nbd3

提示:

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

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

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

7

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

    關(guān)注

    0

    文章

    237

    瀏覽量

    34516
  • SWOT
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    8060
  • Printf
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    【RA4L1-SENSOR】+ RA4L1-SENSOR開發(fā)版之使用Jlink的RTT打印功能代替串口

    篇帖子中我已經(jīng)實現(xiàn)了板子上的串口USART9進行輸出打印,這篇帖子我采用另外一種串口打印來實現(xiàn),這是瑞薩官網(wǎng)實現(xiàn)的最主要打印調(diào)試手段,那
    發(fā)表于 06-09 09:03

    掃碼槍直連打印機掃產(chǎn)品上的條碼二維碼,自動打印對應(yīng)的條碼標(biāo)簽

    在現(xiàn)代企業(yè)的生產(chǎn)、倉儲、物流等環(huán)節(jié)中,條碼標(biāo)簽的打印與使用是項極為常見卻又至關(guān)重要的工作。傳統(tǒng)的依靠電腦連接條碼打印機的打印方式,在面對大規(guī)模、高頻次的
    的頭像 發(fā)表于 06-04 14:08 ?232次閱讀
    掃碼槍直連<b class='flag-5'>打印</b>機掃產(chǎn)品上的條碼二維碼,自動<b class='flag-5'>打印</b>對應(yīng)的條碼標(biāo)簽

    S32K312通過UART口打印系統(tǒng)信息,是否有使用Printf () 函數(shù)打印信息的Demo例程?

    S32K312通過UART口打印系統(tǒng)信息,是否有使用Printf () 函數(shù)打印信息的Demo例程?
    發(fā)表于 04-11 07:21

    掃碼自動打印體化系統(tǒng):直接掃碼打印條碼標(biāo)簽,掃打印

    在當(dāng)今這個快節(jié)奏的生產(chǎn)、物流與零售環(huán)境中,信息的高效管理成為了企業(yè)提升競爭力的關(guān)鍵。傳統(tǒng)的條碼標(biāo)簽打印方式依賴于電腦與條碼打印機的連接,這模式在面對大規(guī)模、高頻次的
    的頭像 發(fā)表于 04-09 15:57 ?486次閱讀
    掃碼自動<b class='flag-5'>打印</b><b class='flag-5'>一</b>體化系統(tǒng):直接掃碼<b class='flag-5'>打印</b>條碼標(biāo)簽,掃<b class='flag-5'>一</b>個<b class='flag-5'>打印</b><b class='flag-5'>一</b>個

    為何工程塑料不適合打印圓弧形模型?

    打印方式,那每層之間必然會存在定的銜接痕跡。 正因如此,在XY軸方向上遇到弧面或小角度平面時,其層紋會變得異常明顯。從 JLC3D 小編實際打印的圓弧形模型(PLA材料)中可以清
    發(fā)表于 04-07 15:31

    PRINTF函數(shù)無法打印出浮點數(shù)內(nèi)容是為什么?

    1、MCXN947低功耗adc,歷程中使用官方提供的PRINTF無法打印出浮點數(shù)內(nèi)容。 2、同樣在mcuxpresso ide 也不可以打印浮點數(shù),這是為什么呢? 3、使用的歷程是lpadc歷程。
    發(fā)表于 03-20 08:06

    高電壓放大器在EHD電流體動力噴墨打印系統(tǒng)中的應(yīng)用

    隨著科技的飛速發(fā)展,噴墨打印技術(shù)已經(jīng)成為現(xiàn)代生產(chǎn)生活中不可或缺的部分。特別是EHD電流體動力噴墨打印系統(tǒng),以其獨特的打印方式,在印刷行業(yè)中占據(jù)了重要的地位。而在這種
    的頭像 發(fā)表于 02-21 11:41 ?480次閱讀
    高電壓放大器在EHD電流體動力噴墨<b class='flag-5'>打印</b>系統(tǒng)中的應(yīng)用

    【RA-Eco-RA2L1-48PIN-V1.0開發(fā)板試用】——使用串口輸出打印printf實現(xiàn)

    篇我講解了使用JINK RTT來實現(xiàn)串口輸出打印printf函數(shù)功能, 本次測評我來講解另外一種串口打印方式,直接使用板載的串口功能來
    發(fā)表于 01-23 12:20

    一種新型高效率的服務(wù)器電源系統(tǒng)

    一種新型高效率的服務(wù)器電源系統(tǒng)
    發(fā)表于 12-19 16:45 ?1次下載

    stdio.h實現(xiàn)了printf函數(shù)?

    里面實現(xiàn)了 printf。 實際上并不是,這里就涉及了頭文件和庫的區(qū)別。 頭文件般存放大家都要用的東西,比如函數(shù)的聲明,結(jié)構(gòu)體的聲明,命名新的類型等等。 stdio.h 頭文件,里面也只是聲明了
    的頭像 發(fā)表于 12-18 10:28 ?617次閱讀

    【敏矽微ME32G070開發(fā)板免費體驗】使用JLINK的RTT功能實現(xiàn)類似串口printf打印功能

    收到這款敏矽微ME32G070開發(fā)板后,我發(fā)現(xiàn)我的這款板子是壞的,串口打印部分不能打印,我先燒錄了demo文件夾里的串口打印printf函數(shù) 打開串口助手 卻沒有任何數(shù)據(jù),我用萬用
    發(fā)表于 12-15 20:30

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

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

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

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

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

    光墨打印機是聯(lián)想公司于2011年推出的一種創(chuàng)新打印設(shè)備,它融合了噴墨和激光打印機的優(yōu)勢技術(shù),為打印市場帶來了全新的解決方案。以下是
    的頭像 發(fā)表于 09-16 15:42 ?938次閱讀

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

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