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

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

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

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

調(diào)試打印技巧分享

玩轉(zhuǎn)單片機(jī) ? 來(lái)源:玩轉(zhuǎn)單片機(jī) ? 作者:玩轉(zhuǎn)單片機(jī) ? 2022-12-12 13:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在項(xiàng)目中直接使用printf輸出不是一種好習(xí)慣, 一般都建議對(duì)調(diào)試輸出進(jìn)行二次封裝,方便在項(xiàng)目交付階段進(jìn)行調(diào)試屏蔽,通過(guò)對(duì)不同優(yōu)先級(jí)的配置,也方便在調(diào)試階段調(diào)試,下方就是一個(gè)簡(jiǎn)單的封裝:

#ifndef __LOG_H__
#define __LOG_H__


#include 
#include 


/* 定義打印類(lèi)型 */
#define    LOG_LVL_EMERG  0            /*!< 緊急 */
#define   LOG_LVL_ERROR  (LOG_LVL_EMERG + 1)    /*!< 錯(cuò)誤 */
#define   LOG_LVL_WARN  (LOG_LVL_EMERG + 2)    /*!< 警告 */
#define   LOG_LVL_INFO  (LOG_LVL_EMERG + 3)    /*!< 信息 */
#define   LOG_LVL_DEBUG  (LOG_LVL_EMERG + 4)    /*!< 調(diào)試 */
#define   LOG_LVL_TRACE  (LOG_LVL_EMERG + 5)    /*!< 追蹤 */


#define   DISABLE         0
#define   ENABLED         1


#define   PRINTF_OMIT     DISABLE                 /*!< 使能輸出 */
// #define   PRINTF_OMIT     ENABLED                 /*!< 關(guān)閉輸出 */


#define log_printf(...)     printf(__VA_ARGS__)


#if (PRINTF_OMIT == DISABLE)
  #define LOG(level, ...)              
    do{                              
      if(level <= LOG_LVL_CTRL){   
        log_printf(__VA_ARGS__); 
      }                            
    }while(0)
#else
    #define LOG(level,...);
#endif


extern uint8_t LOG_LVL_CTRL;


void log_usart_init(void);


/* 使用 */
// LOG(LOG_LVL_DEBUG, "%d
",i);


#endif /* __LOG_H__ */

審核編輯:湯梓紅

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

    關(guān)注

    128

    文章

    8685

    瀏覽量

    145493
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    612

    瀏覽量

    34728
  • Printf
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

    14241

原文標(biāo)題:技巧|調(diào)試打印

文章出處:【微信號(hào):玩轉(zhuǎn)單片機(jī),微信公眾號(hào):玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    【開(kāi)源代碼】-基于國(guó)民N32G45x系列MCU使用JLINK的開(kāi)發(fā)組件工具-RTT Viewer 調(diào)試打印

    我的芯片是:國(guó)民技術(shù)的 N32G45XVL SEGGER-RTTViewer 打印調(diào)試信息方法 準(zhǔn)備資料: jlink調(diào)試器一個(gè) 開(kāi)發(fā)板引出swclk 和swdio 引腳 安裝jflash套件
    的頭像 發(fā)表于 10-27 12:06 ?5439次閱讀
    【開(kāi)源代碼】-基于國(guó)民N32G45x系列MCU使用JLINK的開(kāi)發(fā)組件工具-RTT Viewer <b class='flag-5'>調(diào)試</b><b class='flag-5'>打印</b>

    基于單片機(jī)的串口調(diào)試打印

    查看EK-RA6M4的原理圖,如下圖所示,串口 UART0 掛在了Pmod2接口的 P411,P410 這兩個(gè)引腳上,而這兩個(gè)引腳又可以復(fù)用為 SPI1 功能的兩個(gè)引腳。此時(shí),我們將希望修改FSP配置,讓這兩個(gè)引腳作為程序的 printf() 標(biāo)準(zhǔn)輸出調(diào)試打印。
    的頭像 發(fā)表于 12-19 09:23 ?3581次閱讀
    基于單片機(jī)的串口<b class='flag-5'>調(diào)試</b><b class='flag-5'>打印</b>

    請(qǐng)問(wèn)freertos可視化調(diào)試打印任務(wù)信息是不是只可以打印一次?

    在freertos中,使用可視化調(diào)試打印任務(wù)消息,但是打印不全,還只能打印一次,使用IAR自帶的調(diào)試插件看,顯示可視化
    發(fā)表于 05-07 06:16

    Fx3 Uart調(diào)試打印錯(cuò)誤

    嗨,伙計(jì)們,我試圖用UVCVideoClass例子來(lái)獲得在FX3上的UART調(diào)試工作。不幸的是,我只能在控制臺(tái)上得到垃圾:在我的串行控制臺(tái)中,不是預(yù)期的“應(yīng)用程序啟動(dòng)\r\n”,而是在我的串行控制臺(tái)
    發(fā)表于 01-24 11:35

    串口調(diào)試打印是怎樣支持文本顏色輸出的

    串口調(diào)試打印輸出的顏色日志格式是怎樣的?串口調(diào)試打印是怎樣支持文本顏色輸出的?
    發(fā)表于 02-14 07:56

    AB32VG1開(kāi)發(fā)板開(kāi)發(fā)環(huán)境搭建和串口調(diào)試打印過(guò)程

    有幸申請(qǐng)到開(kāi)發(fā)板,下面說(shuō)下開(kāi)發(fā)環(huán)境搭建和串口調(diào)試打印過(guò)程1:先下載RTT studio開(kāi)發(fā)工具,RTT studio下載地址2:下載完成后,需要測(cè)試帳號(hào)才可以登錄IDE,這部分略過(guò)3:新建RTT工程
    發(fā)表于 10-10 17:29

    cmbackTrace組件在開(kāi)啟ulog后調(diào)試打印不一樣是何原因

    packages—>tools packages—>cmbackTrace測(cè)試: cmb_test DIVBYZERO效果:可以看到此時(shí)打印正常開(kāi)啟ULOG功能(使能FILE BACKEND 與LOG FILTER,有時(shí)候不開(kāi)啟是正常的)測(cè)試:這與前打印不一
    發(fā)表于 11-02 10:59

    蜂鳥(niǎo)E203移植ZYNQ7000開(kāi)發(fā)板調(diào)試打印hellowaord亂碼怎么解決?

    移植蜂鳥(niǎo)E203到zynq 保留GPIOA模塊,用gpio16和gpio17做串口uart的RX和TX.用Nucleistidio里面模板的helloworld建工程后,下載到開(kāi)發(fā)板里面 串口打印
    發(fā)表于 08-12 07:49

    AM335x平臺(tái)在引導(dǎo)SPL、Uboot、Kernel期間如何修改調(diào)試打印串口概述

     大家好,這篇文章主要基于AM335x的 linux SDK,講述如何修改UART接口去打印調(diào)試信息。AM335x一共有六個(gè)串口,分別是UART0、UART1、UART2、UART3、UART4
    發(fā)表于 04-23 17:03 ?25次下載
    AM335x平臺(tái)在引導(dǎo)SPL、Uboot、Kernel期間如何修改<b class='flag-5'>調(diào)試</b><b class='flag-5'>打印</b>串口概述

    串口調(diào)試打印[支持文本顏色輸出]

    #日志顏色格式說(shuō)明顏色日志格式格式:\033[顯示方式;字體色;背景色m如缺省默認(rèn):\033[0m //表示結(jié)束打印-\033 八進(jìn)制轉(zhuǎn)義 表示ESC-顯示方式0(默認(rèn)值)、1(高亮)、22
    發(fā)表于 12-14 19:04 ?0次下載
    串口<b class='flag-5'>調(diào)試</b><b class='flag-5'>打印</b>[支持文本顏色輸出]

    如何用調(diào)試器JLink來(lái)打印信息

    摘要:不知道大家在單片機(jī)開(kāi)發(fā)中是如何打印調(diào)試信息的,大多數(shù)應(yīng)該是用串口調(diào)試打印吧,在大多數(shù)的情況下,一般在制板和寫(xiě)代碼時(shí)都會(huì)預(yù)留串口1做為調(diào)試
    的頭像 發(fā)表于 10-14 09:55 ?4352次閱讀

    OpenHarmony系統(tǒng)如何使用gdb調(diào)試init

    其為內(nèi)核直接拉起的第一個(gè)用戶(hù)態(tài)進(jìn)程,問(wèn)題定位手段只能依賴(lài)代碼走讀和增加調(diào)試打印,初始化過(guò)程中系統(tǒng)崩潰的問(wèn)題就更難定位了。如果能使用 gdb 調(diào)試 init,會(huì)極大提高定位效率。
    的頭像 發(fā)表于 01-15 15:53 ?1200次閱讀

    Jlink調(diào)試打印工具RTT

    RTT支持兩個(gè)方向的多個(gè)通道,上到主機(jī),下到目標(biāo),它可以用于不同的目的,為用戶(hù)提供盡可能多的自由。默認(rèn)實(shí)現(xiàn)每個(gè)方向使用一個(gè)通道,用戶(hù)可在在調(diào)試終端輸入和輸出。
    發(fā)表于 04-06 09:22 ?0次下載

    Event Recoder調(diào)試組件在stm32上的使用

    因?yàn)樽霎a(chǎn)品開(kāi)發(fā),設(shè)計(jì)東西有時(shí)候考慮得多,mcu的并沒(méi)有多余的串口供使用調(diào)試,在調(diào)試一些初期進(jìn)行驗(yàn)證時(shí),必要的調(diào)試打印信息是需要的。
    的頭像 發(fā)表于 05-15 10:49 ?1391次閱讀
    Event Recoder<b class='flag-5'>調(diào)試</b>組件在stm32上的使用

    佳能IP110打印機(jī)手冊(cè)

    佳能IP110打印機(jī)手冊(cè),總共512頁(yè),包含軟件安裝,網(wǎng)絡(luò)調(diào)試,打印機(jī)調(diào)試,打印,清洗,故障碼查詢(xún)等
    發(fā)表于 12-07 15:26 ?3次下載