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

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

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

3天內不再提示

AT32 MCU Printf的功能使用方法

jf_pJlTbmA9 ? 來源:AT32 MCU 雅特力科技 ? 作者:AT32 MCU 雅特力科技 ? 2023-10-27 09:27 ? 次閱讀

內容概述

本文檔主要介紹AT芯片Keil和IAR兩種工程環境下的printf功能使用方法。其共包含如下表統計的6種方法,各方法的具體用法在具體內容中描述。

wKgZomUD6H-AKtnyAAFtltbm3Po909.png 表1. AT芯片的printf函數使用方法匯總

具體內容

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

簡介

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

例程路徑

001_Printf_Test_IAR_Terminalprojectiar_v8.2

環境及硬件設計

1) 環境

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

2) 硬件連接

Link/AT-Link ...connection

wKgZomUD6ICACUIHAAChXqQ2bI0447.png 表2. 硬件連接關系表--(無JTDO)

軟件設計

1) 頭文件

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

2) 重定向設定

Printf解除重定向(屏蔽與實際串口的重定向)。

仿真下載

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

wKgaomUD6IKAXRxmAAFMPXTzcM4887.png 圖1. 虛擬終端窗口路徑
wKgZomUD6IOActTgAACSEFQ5Irw523.png 圖2. 虛擬終端交互窗口

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

簡介

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

例程路徑

002_Printf_Test_IAR_USART2projectiar_v8.2

環境及硬件設計

1) 環境

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

2) 硬件連接

J-Link/AT-Link ...connection

J-Link/AT-Link ...connection

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

USART2 connection

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

軟件設計

1) 頭文件

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

2) 重定向設定

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

wKgaomUD6IiAO9cYAABitZf4bRo655.png

仿真與下載

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

wKgZomUD6ImAf1mxAAFR-SYN3OY343.png 圖3. 串口助手交互窗口

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

簡介

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

例程路徑

003_Printf_Test_Keil_JTDOprojectmdk_v5

環境及硬件設計

1) 環境

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

2) 硬件連接

J-Link/AT-Link ...connection

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

軟件設計

1) 頭文件

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

2) 跟蹤引腳分配

wKgaomUD6IyAKyJZAAA3tV3PMlU211.png

3) Printf映射

wKgZomUD6I2AdqJxAACQPq0jKJY780.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)內。

wKgaomUD6I-ARsW1AAE0Yp_4ETw160.png 圖4. Trace相關設定
wKgZomUD6JGASBpjAAN6hJ333pQ565.png 圖5. Keil虛擬終端窗口路徑
wKgZomUD6JKASHTxAACysjXK0NY630.png 圖6. Keil虛擬終端交互窗口

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

簡介

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

例程路徑

004_Printf_Test_Keil_USART2_MicroLIBprojectmdk_v5

環境及硬件設計

1) 環境

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

2) 硬件連接

J-Link/AT-Link ...connection

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

USART2 connection

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

軟件設計

1) 頭文件

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

2) Printf重定向

wKgaomUD6JaAGl4CAABivJiiKD0803.png

3) MicroLIB設定

wKgaomUD6JeAPX2AAAMtCIkIuCk659.png 圖7. MicroLIB設定

仿真與下載

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

wKgZomUD6JiAUQfsAAF6MTQphR4020.png 圖8. 串口助手交互窗口

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

簡介

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

例程路徑

005_Printf_Test_Keil_USART2__Without_MicroLIBprojectmdk_v5

環境及硬件設計

1) 環境
2) 硬件連接

J-Link/AT-Link ...connection

wKgaomUD6JqACucLAACn_QtBHYU922.png 表8. 硬件連接關系表--(無JTDO)

USART2 connection

wKgZomUD6JuADUbAAAB2PuaOqPk387.png 表9. 硬件連接關系表--(USART)

軟件設計

1) 頭文件

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

2) Printf 重定向

wKgZomUD6JyAQhENAABH1JqWj_M516.jpg

3) MicroLIB設定

wKgZomUD6J6AcBWAAAOpkY5L-zk906.png 圖9. MicroLIB設定

4) Printf函數支持代碼添加

wKgaomUD6J-AScWPAARw7O95uLE975.png

仿真與下載

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

wKgZomUD6KCAZlCdAAGGBFYSur0061.png 圖10. 串口助手交互窗口

經JLinkRTT窗口輸出

簡介

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

例程路徑

006_Printf_Test_Jlink_RTTprojectmdk_v5

環境及硬件設計

1) 環境

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

2) 硬件連接

J-Link connection

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

軟件設計

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端

wKgZomUD6KOAO9XJAABHNYHeF0g041.png

仿真與下載

1) 通過JLinkRTTClient窗口輸出

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

wKgaomUD6KSAFH4WAAVCafWGI4Q651.png 圖11. 代碼工程Debug
wKgZomUD6KaAG0FMAAJyNte6Sl4748.png 圖12. JLinkRTTClient窗口輸出信息

2) 通過JLinkRTTViewer窗口輸出

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

wKgaomUD6KeAITNNAADtOmhEXXw093.png 圖13. 打開JLinkRTTViewer窗口

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

wKgaomUD6KiARB7DAADejCJ9_LY631.png 圖14. device選擇窗口

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

wKgZomUD6KqAY0JyAAFrY6INcu0844.png 圖15. JLinkRTTViewer窗口輸出信息

注意事項

前述具體內容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”,不然代碼編譯可能會出現異常。

來源:AT32 MCU 雅特力科技
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理


審核編輯 黃宇

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

    關注

    146

    文章

    17357

    瀏覽量

    352791
  • Printf
    +關注

    關注

    0

    文章

    83

    瀏覽量

    13743
收藏 人收藏

    評論

    相關推薦

    使用AT32 MCU實現OTP寄存器功能

    對于AT32 MCU不同的系列,因為功能改進等原因,安全庫區的配置使用可能有所差異。用戶使用OTP功能主要目的是需要將一些特殊數據保存其中,在需要時可以讀取,并且不允許修改和擦除。目前
    發表于 07-08 12:49 ?1454次閱讀

    AN0002—AT32 MCU如何使用片上Flash來實現EEPROM功能

    的補充。本文檔將詳細闡述在 AT32 系列 MCU 上使用片上 Flash 來模擬 EEPROM 的應用原理和軟件使用方法。Flash 與 EEPROM 的不同 以應用的角度來看,Flash
    發表于 08-15 14:23

    AT32系列MCU上Flash模擬EEPRO的應用原理和使用方法

    AN0002—AT32 MCU如何使用片上Flash來實現EEPROM功能當前諸多嵌入式應用場景都需要用到 EEPROM 作為非易失性的數據存儲設備。出于客戶低成本的考慮,AT32
    發表于 11-26 07:15

    怎么使用AT32 MCU的SPIM作為外部存儲器的擴展功能

    AT32 SPIM Application Note描述了怎么使用AT32 MCU的SPIM作為外部存儲器的擴展功能
    發表于 10-24 08:03

    GUIX移植到AT32 MCU的過程和方法

    本應用筆記主要演示GUIX移植到AT32 MCU的過程和方法。本應用筆記在ThreadX OS基礎上進行講解,因此建議閱讀者先看AT32的如下應用指南:AN0079_AT32_
    發表于 10-25 07:51

    AT32 MCU USB主機庫應用說明

    AT32 MCU USB Host Library Application Note主要描述AT32F4xx 系列USB 主機庫的架構和使用方法,方便開發者使用庫快速開發USB相關的應用,同時也會介紹
    發表于 10-25 07:02

    AT32 MCU USB設備庫應用說明

    AT32 MCU USB Device Library Application Note主要描述AT32F4xx 系列USB 設備庫的架構和使用方法,方便開發者使用庫快速開發USB相關的應用,同時也會介紹
    發表于 10-25 07:07

    AT32 MCU USART應用說明

    AT32 MCU USART Application Note介紹了AT32 的USART 功能,并對BSP 例程的軟件設計加以說明,同時演示使用方
    發表于 10-25 08:11

    AT32外部中斷/事件EXINT使用指南

    AT32外部中斷/事件EXINT使用指南介紹AT32 系列MCU 的EXINT 功能及其固件驅動程序API,并對BSP 例程的軟件設計加以說明,同時演示
    發表于 10-25 06:25

    AN0002—AT32 MCU如何使用片上Flash來實現EEPROM功能

    型號的 MCU 并未搭載片上 EEPROM,但是在此我們將介紹一種使用片上 Flash來模擬 EEPROM 使用的方法,以作為對此應用需求的補充。本文檔將詳細闡述在 AT32 系列 MCU
    發表于 11-18 16:21 ?14次下載
    AN0002—<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>如何使用片上Flash來實現EEPROM<b class='flag-5'>功能</b>

    雅特力AT32 MCU USB設備庫的架構和使用方法

    這部分主要介紹AT32 USB設備庫的結構和庫的使用方法AT32 USB是基于USB2.0全速設備,不支持USB2.0高速設備。這里庫的作用是用來管理USB外設和實現USB的基本協議,使開發者能夠更快的上手開發。
    的頭像 發表于 02-22 10:09 ?2359次閱讀

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

    內容概述本文檔主要介紹AT芯片在Keil和IAR兩種工程環境下的printf功能使用方法。其共包含如下表統計的6種方法,各方法的具體用法在具體內容中描述。表1.AT芯片的
    的頭像 發表于 06-16 09:44 ?2244次閱讀
    <b class='flag-5'>AT32</b>講堂006 | <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> <b class='flag-5'>Printf</b>的<b class='flag-5'>功能使用方法</b>

    如何使用AT32 MCU WDT和WWDT?

    如何使用AT32 MCU WDT和WWDT?
    的頭像 發表于 11-10 18:26 ?2285次閱讀
    如何使用<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> WDT和WWDT?

    如何在AT32 MCU上使用FPU功能

    如何在AT32 MCU上使用FPU功能
    的頭像 發表于 11-01 17:18 ?4114次閱讀
    如何在<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>上使用FPU<b class='flag-5'>功能</b>

    OTG功能使用方法

    OTG功能使用方法? 什么是OTG功能? OTG(On-The-Go)即為“即插即用”的高速USB接口,在目前的市場上企業和普通消費者極度青睞,其在人們的生活中的應用場景非常廣泛,比如U盤、鍵盤
    的頭像 發表于 10-30 09:57 ?4592次閱讀
    主站蜘蛛池模板: 久久综合九色综合欧洲色 | 日本特黄特色大片免费看 | 特一级黄色片 | 人与禽交免费网站视频 | 日干夜操| 一区二区三区影院 | 欧美做a欧美 | 婷婷99视频精品全部在线观看 | 岛国毛片 | 在线操 | 免费大秀视频在线播放 | a一级黄 | 亚洲综合激情六月婷婷在线观看 | 99成人在线| 亚洲三级视频 | 免费黄视频在线观看 | 天天在线天天综合网色 | 欧美性xxxx极品高清 | 国产成人亚洲综合a∨婷婷 国产成人一区二区三中文 国产成人一区二区在线不卡 | 精品欧美 | 三级在线观看视频网站 | 欧美黄页| 天堂网视频在线 | 五月欧美激激激综合网色播 | 一及黄色 | 欧日韩视频777888 | 在线免费影视 | 久久国产成人精品国产成人亚洲 | 最好看免费中文字幕2018视频 | 波多野结衣在线视频观看 | 夜夜摸夜夜爽 | 亚洲狠狠网站色噜噜 | 亚洲精品在线不卡 | sss欧美华人整片在线观看 | 日韩在线视频免费观看 | 2018天天射| 老司机色网| 国产日韩一区二区三区 | 干美女在线视频 | 在线观看免费视频资源 | 激情五月婷婷久久 |