方式一:基于SEGGER的RTT方式,可直接使用jlink連接到目標(biāo)板即可看到調(diào)試信息。
優(yōu)點(diǎn):速度很快,即使是在中斷中調(diào)用也沒有問題,在帶系統(tǒng)的程序中也不需要開啟臨界保護(hù);
缺點(diǎn):需要加入兩個(gè)SEGGER提供的.c文件及頭文件,不能輸出中文和浮點(diǎn)(原因可能是會(huì)降低速度);
硬件連接:jlink的SWDIO引腳必須和目標(biāo)板連接,其它按照標(biāo)準(zhǔn)使用即可。
需要的兩個(gè).c文件可在jlink驅(qū)動(dòng)安裝目錄D:\SEGGER\JLink_V634c\Samples\RTT中找到(我的安裝到D盤驅(qū)動(dòng)版本為634c,根據(jù)自己的實(shí)際情況找)
可看到里面有一個(gè)壓縮包,解壓后將SEGGER_RTT.c、SEGGER_RTT.h、SEGGER_RTT_Conf.h、SEGGER_RTT_printf.c拷貝到自己的工程目錄下,然后將頭文件包含進(jìn)工程即可
在使用的地方頭文件加上#include "SEGGER_RTT.h"
便可調(diào)用SEGGER_RTT_printf();函數(shù)輸出調(diào)試信息到Jlink RTT_Viewer了
這個(gè)軟件是安裝好jlink驅(qū)動(dòng)就有的,里面還有其它軟件也可以查看調(diào)試信息,可使用的函數(shù)也不止這一個(gè),可參考segger官方文檔自行實(shí)現(xiàn)。
方式二:使用STM32的串口輸出調(diào)試信息。
優(yōu)點(diǎn):可以輸出中文及浮點(diǎn)數(shù);
缺點(diǎn):需要占用一個(gè)串口資源,不適合在中斷中調(diào)用,帶系統(tǒng)后調(diào)用的地方也需要加臨界保護(hù);
硬件連接:將單片機(jī)串口接到一個(gè)USB轉(zhuǎn)串口用上位機(jī)即可觀察數(shù)據(jù)。
需要在MDK中開啟使用微庫(kù)選項(xiàng)(也可不用,但需要自己實(shí)現(xiàn)重定向的一些東西)
在有勾勾的地方勾上就行了
在程序中需要將printf函數(shù)重定向到串口
/*重定向 printf 到串口*/
int fputc(int ch, FILE *f)
{
UART1_SendData((uint8_t *)&ch,1);
return ch;
}
UART1_SendData();函數(shù)自行實(shí)現(xiàn),就是串口1發(fā)送數(shù)據(jù)。
這里提供一種輸出可控的方式:
/*用于控制輸出調(diào)試信息*/
#define PRINTF_DEBUG 1U
#if (PRINTF_DEBUG > 0U)
#define USE_RTT_PRINTF 1U
#if (USE_RTT_PRINTF > 0U)
#include "SEGGER_RTT.h"
/*基于 SEGGER_RTT 不能輸出浮點(diǎn),中文,等一些特殊字符(優(yōu)點(diǎn)速度快可在中斷中調(diào)用)*/
#define PRINTF_Dbg(...) \
do{\
SEGGER_RTT_printf(0,"file:%s,line:%d,",__FILE__,__LINE__);\
SEGGER_RTT_printf(0,__VA_ARGS__);\
}while(0);
#define PRINTF(...) \
SEGGER_RTT_printf(0,__VA_ARGS__);
#else
/*使用串口格式化到 printf 輸出*/
#define PRINTF_Dbg(...) \
do{\
printf("file:%s,line:%d,",__FILE__,__LINE__);\
printf(__VA_ARGS__);\
}while(0);
#define PRINTF(...) \
printf(__VA_ARGS__);
#endif
#else
#define PRINTF_Dbg(...)
#define PRINTF(...)
#endif
需要查看調(diào)試信息時(shí)只需要打開宏P(guān)RINTF_DEBUG即可。
上一篇:STM32之調(diào)試支持(DBG)
下一篇:STM8S:Debug調(diào)試正常,燒錄程序運(yùn)行不正常
推薦閱讀
史海拾趣
隨著業(yè)務(wù)的不斷發(fā)展,F(xiàn)enwal Controls公司開始尋求全球擴(kuò)張。公司通過建立廣泛的分銷網(wǎng)絡(luò),將產(chǎn)品推廣至全球各地。同時(shí),為了更好地滿足當(dāng)?shù)厥袌?chǎng)需求,F(xiàn)enwal Controls還積極實(shí)施本地化戰(zhàn)略,與各地合作伙伴緊密合作,共同開發(fā)符合當(dāng)?shù)厥袌?chǎng)需求的定制化產(chǎn)品。這些舉措不僅提升了公司的品牌影響力,也進(jìn)一步鞏固了公司在全球市場(chǎng)的地位。
協(xié)順電子(Finecables)成立于2003年,當(dāng)時(shí)的中國(guó)電子行業(yè)正處于快速發(fā)展期。公司創(chuàng)始人憑借對(duì)市場(chǎng)敏銳的洞察力和對(duì)技術(shù)的執(zhí)著追求,決定進(jìn)入連接器制造領(lǐng)域。在創(chuàng)業(yè)初期,公司面臨著資金短缺、技術(shù)積累不足等挑戰(zhàn)。然而,通過不懈的努力和團(tuán)隊(duì)的合作,協(xié)順電子成功研發(fā)出首批產(chǎn)品,并獲得了市場(chǎng)的認(rèn)可。這一階段的經(jīng)歷為公司的后續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
隨著市場(chǎng)需求的不斷變化和消費(fèi)者需求的多樣化,常州星海電子不斷調(diào)整和優(yōu)化產(chǎn)品結(jié)構(gòu)。公司現(xiàn)已形成了包括普通整流、開關(guān)、快速恢復(fù)、高效率、超快速、肖特基、雙向觸發(fā)管、整流橋、高反壓以及瞬間突波電壓吸收、穩(wěn)壓等多種系列、多種封裝形式的二極管產(chǎn)品。這些產(chǎn)品廣泛應(yīng)用于電腦、家電、郵電通訊等行業(yè),為公司贏得了廣闊的市場(chǎng)空間。
常州星海電子有限公司,自1990年成立以來,便以生產(chǎn)中英合資的各類二極管為起點(diǎn),逐漸在電子行業(yè)中嶄露頭角。隨著公司業(yè)務(wù)的不斷發(fā)展和市場(chǎng)需求的增長(zhǎng),2016年,公司正式更名為常州星海電子股份有限公司,完成了從合資到股份制的轉(zhuǎn)變。這一轉(zhuǎn)變不僅標(biāo)志著公司管理結(jié)構(gòu)的升級(jí),也預(yù)示著公司在未來市場(chǎng)中的更大發(fā)展。
隨著市場(chǎng)需求的不斷變化,如韻意識(shí)到技術(shù)創(chuàng)新是企業(yè)持續(xù)發(fā)展的關(guān)鍵。因此,公司投入大量資源進(jìn)行產(chǎn)品研發(fā)和技術(shù)升級(jí)。其中,一次重要的技術(shù)突破讓如韻在行業(yè)內(nèi)聲名鵲起。
當(dāng)時(shí),市場(chǎng)上的某種電子元器件存在性能不穩(wěn)定的問題,給許多電子設(shè)備制造商帶來了困擾。如韻的研發(fā)團(tuán)隊(duì)經(jīng)過深入研究,成功開發(fā)出了一種新型電子元器件,不僅性能穩(wěn)定可靠,而且成本更低。這一創(chuàng)新產(chǎn)品迅速占領(lǐng)了市場(chǎng)份額,成為公司的明星產(chǎn)品,也為如韻帶來了豐厚的經(jīng)濟(jì)回報(bào)。
上海如韻電子有限公司,簡(jiǎn)稱如韻(CONSONANCE),總部位于上海張江高新產(chǎn)業(yè)園嘉定園。公司由一群熱愛電子技術(shù)的專業(yè)人士于2004年共同創(chuàng)立,注冊(cè)資本200萬元人民幣。在創(chuàng)立初期,公司面臨著資金緊張、市場(chǎng)競(jìng)爭(zhēng)激烈等多重挑戰(zhàn)。然而,憑借著對(duì)電子行業(yè)的深刻理解和敏銳的市場(chǎng)洞察力,如韻逐漸在市場(chǎng)上站穩(wěn)了腳跟。
初期,如韻主要致力于微電子集成電路的設(shè)計(jì)與銷售。公司創(chuàng)始人于志升帶領(lǐng)團(tuán)隊(duì),通過不斷創(chuàng)新和技術(shù)突破,成功開發(fā)出一系列具有市場(chǎng)競(jìng)爭(zhēng)力的產(chǎn)品。這些產(chǎn)品在華北、華東、華南、西南等地區(qū)建立了龐大的銷售網(wǎng)絡(luò),與幾十家專業(yè)代理商建立了長(zhǎng)期合作關(guān)系,為公司的穩(wěn)步發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
我用DELPHI做了個(gè)監(jiān)控程序,當(dāng)監(jiān)控程序給POS機(jī)發(fā)送數(shù)據(jù)時(shí),POS機(jī)接收的數(shù)據(jù)都是正確的,但是我從POS機(jī)發(fā)送數(shù)據(jù)是,SERVER客戶端接收的數(shù)據(jù)就是亂碼了,POS機(jī)發(fā)送功能的代碼如下 & ...… 查看全部問答∨ |
|
3.Requirements analysis, product/functions review是審查嗎?, identification of issues是問題識(shí)別嗎, system risk analysis, reliability analysis 8.Support, maintain and document functionality支持,維護(hù)且以文檔記錄(產(chǎn)品)功能 :就 ...… 查看全部問答∨ |
|
大家比較熟悉的應(yīng)該是VS1003吧,這一款比較新而且比較強(qiáng)大。在官方網(wǎng)看了一下有樣品申請(qǐng)就申請(qǐng)了,聯(lián)合科技的銷售經(jīng)理直接從香港給我送樣品來了,本來說要送兩片的,我說要5片,他就送5片來了。和我聊了個(gè)把小時(shí)感 ...… 查看全部問答∨ |
|
請(qǐng)問msp430F1232如何產(chǎn)生13.56Mhz的頻率 請(qǐng)問msp430F1232如何產(chǎn)生13.56Mhz的頻率 各位大俠,如何通過430單片機(jī)的引腳輸出13.56Mhz的頻率 謝謝!主要作用是想實(shí)現(xiàn)MF1卡檢測(cè)功能,在平常無卡時(shí)低功耗待機(jī)每秒檢測(cè)2次,有卡來到時(shí)可以通過430檢測(cè)到卡片到來, 然后啟動(dòng)射頻芯片RC531或TRF7 ...… 查看全部問答∨ |
|
超級(jí)菜鳥 編譯出錯(cuò) 不知如何處理 請(qǐng)大神們幫一下 剛裝的軟件,在壇里參考了一個(gè)程序,目的是想弄明白和熟悉一下軟件的流程,看看能否工作? ,遇到這樣的問題,不知道怎么弄了。請(qǐng)大神們幫忙看一下,是那里沒有設(shè)置好?本人超級(jí)菜,請(qǐng)見諒。謝謝! Error while running C/C++ com ...… 查看全部問答∨ |
為何函數(shù)內(nèi)部變量初始化不執(zhí)行!請(qǐng)大師指點(diǎn) stm8s207 下面的函數(shù)中u16 adcTemp=0; 該變量在仿真的時(shí)候無法初始化。我用的是cosmic。 本人在使用stlink2仿真單步執(zhí)行時(shí),發(fā)現(xiàn)進(jìn)入該函數(shù)后執(zhí)行 u8 i=0;后應(yīng)該執(zhí)行u16 adcTemp=0; 但是仿真的結(jié)果是跳過了u16 adcTemp=0;該變量的初始化,這是為 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實(shí)惠套件和強(qiáng)大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動(dòng)Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機(jī)自啟動(dòng)
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測(cè)試
- 強(qiáng)強(qiáng)聯(lián)合再進(jìn)階!理想AD Pro輔助駕駛正式升級(jí)搭載地平線征程6M
- 英特爾與黑芝麻智能簽署合作備忘錄,聯(lián)合發(fā)布艙駕融合平臺(tái)
- 英特爾與面壁智能宣布建立戰(zhàn)略合作伙伴關(guān)系,共同研發(fā)端側(cè)原生智能座艙
- 芯馳科技發(fā)布X10,打造全民AI時(shí)代座艙處理器新標(biāo)桿
- 精準(zhǔn)適配,輕裝全能!芯馳發(fā)布E3系列高端智控MCU三大應(yīng)用場(chǎng)景
- 場(chǎng)景定義、精準(zhǔn)創(chuàng)「芯」,芯馳全新發(fā)布AI座艙處理器和高端智控系列
- Arm 技術(shù)加持,地平線以 HSD 及征程 6P 推動(dòng)汽車智能化變革
- 華為自動(dòng)駕駛技術(shù)解讀
- 加速電動(dòng)化轉(zhuǎn)型,邦迪汽車系統(tǒng)攜多款創(chuàng)新產(chǎn)品首秀2025上海車展
- 數(shù)據(jù)中心面臨電力約束挑戰(zhàn),推動(dòng)GenAI終端發(fā)展
- Digi-Key KOL視頻來襲~歡迎進(jìn)入MicroPython的奇妙世界
- 福祿克明星款熱像儀全新來襲,搶先免費(fèi)體驗(yàn)贏好禮
- Mouser 新用戶大禮包:你購(gòu)物,我5折返E金幣!
- 商業(yè)航空解決方案,賦能互聯(lián)飛行
- 直播已結(jié)束【使用 TI 低成本 MSPM0 MCU 快速開發(fā) – 生態(tài)詳解系列之二】(9:45開始入場(chǎng))
- 有獎(jiǎng)直播:現(xiàn)代電動(dòng)工具的設(shè)計(jì)挑戰(zhàn)與英飛凌解決之道
- 希望一月 愛上EEWORLD——論壇推廣月
- 電機(jī)小課堂 | 單相無刷電機(jī)無感控制,小功率電機(jī)驅(qū)動(dòng)應(yīng)用中的最佳解決方案
- 互聯(lián)網(wǎng)+5G+機(jī)器人激發(fā)智慧黨建新活力
- 基于STM32的植物生長(zhǎng)動(dòng)態(tài)補(bǔ)光控制系統(tǒng)設(shè)計(jì)
- STM32窗口看門狗程序
- 基于STM32的電容觸摸按鍵的原理解析
- STM32串口通信中使用printf發(fā)送數(shù)據(jù)配置方法
- 物聯(lián)網(wǎng)及云計(jì)算技術(shù)在自動(dòng)化生產(chǎn)中的應(yīng)用
- 意法半導(dǎo)體:暖通空調(diào)電子控制系統(tǒng)
- 基于labview的工控機(jī)與變頻器間通訊的設(shè)計(jì)和實(shí)現(xiàn)
- 基于ZigBee技術(shù)的無線液位過程控制器的設(shè)計(jì)和開發(fā)
- 意法半導(dǎo)體:三相電機(jī)控制解決方案