精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

AT32講堂006 | AT32 MCU Printf的功能使用方法

雅特力 AT32 MCU ? 2022-06-16 09:44 ? 次閱讀

內容概述

本文檔主要介紹AT芯片Keil和IAR兩種工程環境下的printf功能使用方法。其共包含如下表統計的6種方法,各方法的具體用法在具體內容中描述。表1. AT芯片的printf函數使用方法匯總b6aa03cc-e71c-11ec-a2f4-dac502259ad0.png

具體內容

IAR環境下經Terminal I/O虛擬終端輸出

簡介

IAR提供的鏈接到其Terminal的驅動內就包含有常用的scanf和printf等標準輸入輸出驅動函數,所以工程文件可直接經IAR自帶的Terminal I/O窗口實現信息交互。

例程路徑

001_Printf_Test_IAR_Terminal\project\iar_v8.2

環境及硬件設計

1)環境本方法需在IAR環境下使用,例程支持的編譯環境為IAR_V8,硬件電路板為AT-START-F403A_V1.2。2)硬件連接Link/AT-Link&...connection表2. 硬件連接關系表--(無JTDO)b6c4b4a6-e71c-11ec-a2f4-dac502259ad0.png

軟件設計

1) 頭文件代碼工程文件內添加“stdio.h”。2) 重定向設定Printf解除重定向(屏蔽與實際串口的重定向)。

仿真下載

代碼經編譯后下載到MCU內,然后進入Debug調試環境中,經View->Terminal I/O(下圖1)調出虛擬終端,然后全速運行代碼即可看到程序主循環內的“Hello World”等內容被打印到了終端交互窗口Output欄(下圖1)內,且在該窗口的Input欄內輸入的數據也同樣會被打印到Output窗口內。圖1. 虛擬終端窗口路徑b6d15724-e71c-11ec-a2f4-dac502259ad0.png圖2. 虛擬終端交互窗口b6e225b8-e71c-11ec-a2f4-dac502259ad0.png

IAR環境下重定向為串口輸出

簡介

將printf函數重定向到芯片內的一組實際串口,經串口TX腳輸出,最后由串口助手工具進行信息交互。

例程路徑

002_Printf_Test_IAR_USART2\project\iar_v8.2

環境及硬件設計

1) 環境

本方法需在IAR環境下使用,例程支持的編譯環境為IAR_V8,硬件電路板為AT-START-F403A_V1.2。

2) 硬件連接

J-Link/AT-Link&...connection

J-Link/AT-Link&...connection

表3. 硬件連接關系表--(無JTDO)

b6f449dc-e71c-11ec-a2f4-dac502259ad0.png

USART2 connection

表4. 硬件連接關系表--(USART)

b706f136-e71c-11ec-a2f4-dac502259ad0.png

軟件設計

1) 頭文件

代碼工程文件內添加“stdio.h”;

2) 重定向設定

串口初始化并將Printf重定向到實際的串口,重定向函數如下

b7122ba0-e71c-11ec-a2f4-dac502259ad0.png

仿真與下載

代碼經編譯后下載到MCU內,然后全速運行代碼即可看到程序主循環內的“Hello World”等內容被打印到了終端交互窗口(下圖3)內。

圖3. 串口助手交互窗口

b722d6b2-e71c-11ec-a2f4-dac502259ad0.png

經Keil平臺的Debug(printy) Viewer虛擬終端輸出

簡介

Keil平臺自帶有Debug(printf) Viewer接口,在ARM內核集成有常用的scanf和printf等標準輸入輸出驅動函數的前提下,該接口可用于標準的Printf交互。

例程路徑

003_Printf_Test_Keil_JTDO\project\mdk_v5

環境及硬件設計

1) 環境

本方法需在Keil環境下使用,例程支持的編譯環境為Keil_V5,硬件電路板為AT-START-F403A_V1.2

2) 硬件連接

J-Link/AT-Link&...connection

表5. 硬件連接關系表--(含JTDO)

b73853e8-e71c-11ec-a2f4-dac502259ad0.png

軟件設計

1) 頭文件

代碼工程文件內添加“stdio.h”;2) 跟蹤引腳分配b75051f0-e71c-11ec-a2f4-dac502259ad0.png3) Printf映射b759cc12-e71c-11ec-a2f4-dac502259ad0.png

仿真與下載

勾選如下圖4中的Enable,并設定Core值,Core值需與系統時鐘相等。

設定串口時鐘,通常通過勾選如下圖4中的Autodetect max SWO C1來實現。當出現打印亂碼時,此時可嘗試不勾選Autodetect max SWO C1,并手動修改Prescale Core Clk保證打印信息正常。

隨后即可編譯代碼下載到MCU內,然后進入Debug調試環境中,經View->Serial Windows->Debug (printf) Viewer(下圖5)調出虛擬終端窗口,然后運行代碼即可看到Hello World被實際打印到了終端交互窗口(下圖6)內。

圖4. Trace相關設定

b76b1ef4-e71c-11ec-a2f4-dac502259ad0.png

圖5. Keil虛擬終端窗口路徑

b78a20ec-e71c-11ec-a2f4-dac502259ad0.png

圖6. Keil虛擬終端交互窗口

b7b4b870-e71c-11ec-a2f4-dac502259ad0.png

Keil環境下重定向為串口輸出(使用MicroLIB)

簡介

Keil環境有自帶一個MicroLIB庫,其內包含一些支持Printf函數的代碼,在將Printf重定向到串口輸出時,勾選使用MicroLIB后可由串口助手工具進行信息交互。

例程路徑

004_Printf_Test_Keil_USART2_MicroLIB\project\mdk_v5

環境及硬件設計

1) 環境

本方法需在Keil環境下使用,例程支持的編譯環境為Keil_V5,硬件電路板為AT-START-F403A_V1.2

2) 硬件連接

J-Link/AT-Link&...connection

表6. 硬件連接關系表--(無JTDO)

b7cb5684-e71c-11ec-a2f4-dac502259ad0.png

USART2 connection

表7. 硬件連接關系表--(USART)

b7e04b16-e71c-11ec-a2f4-dac502259ad0.png

軟件設計

1) 頭文件

代碼工程文件內添加“stdio.h”;

2) Printf重定向

b7ec80a2-e71c-11ec-a2f4-dac502259ad0.png

3) MicroLIB設定

圖7. MicroLIB設定

b804b78a-e71c-11ec-a2f4-dac502259ad0.png

仿真與下載

代碼經編譯后下載到MCU內,然后全速運行代碼即可看到程序主循環內的“Hello World”等內容被打印到了終端交互窗口(下圖8)內。

圖8. 串口助手交互窗口

b82ad758-e71c-11ec-a2f4-dac502259ad0.png


Keil環境下重定向為串口輸出(不使用MicroLIB)

簡介

Keil環境有自帶一個MicroLIB庫,其內包含一些支持Printf函數的代碼。在將Printf重定向到串口輸出時,如果不勾選使用MicroLIB,自行在工程文件內添加支持Printf函數的代碼段,也同樣可由串口助手工具進行信息交互。

例程路徑

005_Printf_Test_Keil_USART2__Without_MicroLIB\project\mdk_v5

環境及硬件設計

1) 環境本方法需在Keil環境下使用,例程支持的編譯環境為Keil_V5,硬件電路板為AT-START-F403A_V1.22) 硬件連接J-Link/AT-Link&...connection表8. 硬件連接關系表--(無JTDO)b84b9268-e71c-11ec-a2f4-dac502259ad0.pngUSART2 connection表9. 硬件連接關系表--(USART)b85ae92a-e71c-11ec-a2f4-dac502259ad0.png

軟件設計

1) 頭文件代碼工程文件內添加“stdio.h”;2) Printf 重定向b8698e08-e71c-11ec-a2f4-dac502259ad0.jpg3) MicroLIB設定圖9. MicroLIB設定b87932e0-e71c-11ec-a2f4-dac502259ad0.png

4) Printf函數支持代碼添加

b8a72574-e71c-11ec-a2f4-dac502259ad0.png仿真與下載代碼經編譯后下載到MCU內,然后全速運行代碼即可看到程序主循環內的“Hello World”等內容被打印到了終端交互窗口(下圖10)內。圖10. 串口助手交互窗口b8c14cc4-e71c-11ec-a2f4-dac502259ad0.png

經JLinkRTT窗口輸出

簡介

JLink自帶有調試輸出功能,在添加JLink RTT庫代碼后,可根據指定的指令實現代碼調試輸出到對應的窗口。

例程路徑

006_Printf_Test_Jlink_RTT\project\mdk_v5

環境及硬件設計

1) 環境

本方法在IAR及Keil環境下均可使用,例程支持的編譯環境為IAR_V8、Keil_V5,硬件電路板為AT-START-F403A_V1.2。

2) 硬件連接

J-Link connection

表10. 硬件連接關系表--(無JTDO)

b8cfe216-e71c-11ec-a2f4-dac502259ad0.png

軟件設計

1) 頭文件

代碼工程文件內添加“stdio.h”;

2) 添加JLink RTT庫代碼

分別將JLink RTT庫代碼中的SEGGER_RTT.c和SEGGER_RTT_printf.c添加到工程文件內;

根據編譯環境選擇添加SEGGER_RTT_Syscalls_IAR.c或SEGGER_RTT_Syscalls_KEIL.c到工程文件內;

3) 輸出到PC

此時,代碼內調用如下SEGGER_RTT_WriteString或SEGGER_RTT_printf命令即可輸出到PC端

b8e6814c-e71c-11ec-a2f4-dac502259ad0.png仿真與下載

1) 通過JLinkRTTClient窗口輸出

代碼經編譯后下載到MCU內,然后進入Debug調試環境中,打開JLink安裝路徑下名稱為JLinkRTTClient的應用程序。此時單步執行代碼時即可看到打印信息被依次輸出到JLinkRTTClient窗口,如下圖11和圖12。

圖11. 代碼工程Debug

b8f9bc12-e71c-11ec-a2f4-dac502259ad0.png

圖12. JLinkRTTClient窗口輸出信息

b90ae6fe-e71c-11ec-a2f4-dac502259ad0.png

2) 通過JLinkRTTViewer窗口輸出

代碼經編譯后下載到MCU內,然后打開JLinkRTTViewer窗口,如下圖13。

圖13. 打開JLinkRTTViewer窗口

b9305d8a-e71c-11ec-a2f4-dac502259ad0.png

點擊OK,并在彈出的窗口再點擊OK,然后在彈出的窗口輸入并選擇如下信息(此處以ZE系列為例),并點擊OK。如下圖14

圖14. device選擇窗口

b9449840-e71c-11ec-a2f4-dac502259ad0.png

拿前述代碼進入Debug調試環境中,此時單步執行代碼時即可看到打印信息被依次輸出到JLinkRTTViewer窗口。如下圖15

圖15. JLinkRTTViewer窗口輸出信息

b95f4c12-e71c-11ec-a2f4-dac502259ad0.png

注意事項

前述具體內容2.3和2.6的測試時,只能用J-Link,AT-Link暫不支持;

前述具體內容2.1和具體內容2.2的測試時,如果使用AT-Link的話,工程內Options→CMSIS DAP→Reset選項必須選擇為Hardware或者System,不然無法連接及下載代碼;

前述具體內容2.2的測試時,工程內Options→General Options→Library Configuration→Library選項必須選擇為Full,不然無法正常輸出。因為只有選擇為Full時,支持Printf函數的代碼才會被包含進來。

前述具體內容2.6.5.1測試時,因輸出窗口應用程序暫時無法指定芯片型號,為保證代碼與窗口型號匹配且輸出正常,目前工程內Device須選擇ST的型號。且工程代碼內必須要勾選“Options”內的“Use MicroLIB”,不然代碼編譯可能會出現異常。

關于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發與創新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業界最高主頻288MHz運算效能,并支持工業級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數字電源、電動工具等終端設備應用,廣泛地覆蓋5G、物聯網、消費、商務及工控等領域。

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

    關注

    146

    文章

    16988

    瀏覽量

    350302
收藏 人收藏

    評論

    相關推薦

    STM32轉AT32代碼轉換

    GD32等等。本文主要介紹一款ST32轉AT32的工具AT32SmartCodeTransfer.exe,可以快速實現芯片的更換,提高開發效率。1.1.軟件功能本軟
    的頭像 發表于 09-28 08:09 ?273次閱讀
    STM32轉<b class='flag-5'>AT32</b>代碼轉換

    AT32講堂088 | 雅特力AT32F402/F405時鐘配置

    簡介時鐘是芯片正確高效運行的基礎,正確的時鐘配置是芯片能正確運行的必要條件,其重要性不言而喻。AT32各系列產品的時鐘配置部分可能存在細微的差異和需要注意的事項,本文檔就著重針對各系列的情況來詳細
    的頭像 發表于 09-15 08:08 ?402次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | 雅特力AT32F402/F405時鐘配置

    AT32講堂087 | 雅特力AT32 IDE快速入門指南

    新建項目新項目向導AT32ID提供支持雅特力MCU的C語言項目模板,方便用戶快速創建項目。菜單欄【File】>【New】>【CProject】。新建項目向導的對話框將出現。在對
    的頭像 發表于 09-15 08:08 ?357次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>087 | 雅特力<b class='flag-5'>AT32</b> IDE快速入門指南

    雅特力AT32 MCU的隨機數生成

    應用的需求。底下提供兩種方法:提高亂度的方法之一,使用ADC的誤差。AT32的微控制器內置最多三個高級12位片上SAR模擬數字轉換器(ADC)并提供自校準功能,保證1
    的頭像 發表于 08-30 12:26 ?457次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的隨機數生成

    AT32講堂085 | 雅特力AT32 MCU HICK時鐘校準

    簡介AT32系列MCU內部都有提供適合運行的內部高速時鐘(HICK),其本質就是內置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準到±1%,在-40到105℃,該內部高速時鐘
    的頭像 發表于 08-30 12:26 ?511次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時鐘校準

    【GD32 MCU 入門教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的頭像 發表于 08-25 09:24 ?467次閱讀
    【GD32 <b class='flag-5'>MCU</b> 入門教程】GD32 <b class='flag-5'>MCU</b> FPU <b class='flag-5'>使用方法</b>

    如何在雅特力AT32 MCU上創建IAP應用程序

    概述AT32CANIAP快速使用方法使用CAN進行IAP升級,此示例使用PC上位軟件(IAP_Programmer.exe)通過一個USB轉CAN的橋接設備和目標板進行通信,IAPDemo和橋接設備
    的頭像 發表于 05-20 08:15 ?1049次閱讀
    如何在雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>上創建IAP應用程序

    手機信號屏蔽器:功能、原理及使用方法詳解

    深圳特信電子|手機信號屏蔽器:功能、原理及使用方法詳解
    的頭像 發表于 04-01 09:09 ?2929次閱讀

    RA MCU中的CRC模塊和使用方法

    瑞薩RA單片機硬件CRC計算單元采用固定的多項式發生器來計算8位或者32位數據的CRC校驗值,對數據傳輸或數據存儲的一致性、完整性進行驗證。這篇文章重點介紹RA MCU中的CRC模塊和使用方法。
    發表于 02-26 11:45 ?836次閱讀
    RA <b class='flag-5'>MCU</b>中的CRC模塊和<b class='flag-5'>使用方法</b>

    雅特力AT32 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,雅特力與SEGGER共同宣布J-Link仿真調試器與Flasher在線燒錄器全面支持AT32 MCU產品,SEGGER工具鏈的加持使AT32 MCU開發如虎添翼。 雅特力自201
    的頭像 發表于 02-23 10:27 ?365次閱讀

    萬用表的使用方法步驟 萬用表的hFE功能怎么用

    萬用表是電子工程中常用的測量儀器,廣泛應用于電路測試、電阻測量、電流測量等方面。下面將詳細介紹萬用表的使用方法步驟以及萬用表的hFE功能使用方法。 萬用表使用方法步驟: 準備工作:首先確保萬用表
    的頭像 發表于 01-31 13:37 ?4184次閱讀

    AT32 定時器配置中pr和div的作用

    AT32定時器是51系列單片機中的一種定時器,可以實現多種定時功能。在AT32定時器中,pr和div是兩個相關的參數,用于配置定時器的工作參數。 首先,需要了解pr和div分別代表什么含義。pr
    的頭像 發表于 01-08 10:12 ?1229次閱讀

    潤開鴻AT32開發平臺通過OpenHarmony兼容性測評

    支持深度學習的路徑規劃與路標識別等功能開發,可覆蓋人工智能、機器人等多學科知識點教學,適用于自動駕駛ROS實訓。而該無人車教具的推出,也完成了潤開鴻AT32開發平臺在OpenHarmony產業生態中
    發表于 12-21 17:20

    潤開鴻AT32開發平臺通過OpenHarmony兼容性測評

    點擊藍字 ╳ 關注我們 開源項目 OpenHarmony 是每個人的 OpenHarmony 近期,江蘇潤開鴻數字科技有限公司(以下簡稱“潤開鴻”)AT32開發平臺通過OpenAtom
    的頭像 發表于 12-20 21:10 ?662次閱讀
    潤開鴻<b class='flag-5'>AT32</b>開發平臺通過OpenHarmony兼容性測評

    潤開鴻AT32開發平臺通過OpenHarmony兼容性測評

    近期,江蘇潤開鴻數字科技有限公司(以下簡稱“潤開鴻”)AT32開發平臺通過OpenHarmony3.2.Release版本兼容性測評,助力潤開鴻基于該開發平臺全新研發推出的行業終端設備順利融入
    的頭像 發表于 12-15 08:02 ?584次閱讀
    潤開鴻<b class='flag-5'>AT32</b>開發平臺通過OpenHarmony兼容性測評