关于移植过程中,存在大量LCD log(不定形参...)等调试属性函数宏定义到printf
来源:互联网 发布:入骨相思知不知小说 编辑:程序博客网 时间:2024/05/22 06:54
嵌入式开发过程中,遇到移植第三方协议栈,有时存在大量LCD log等调试属性函数。我们希望保存原生的调试输出信息,通过对LCDlog等调试功能进行printf重新宏定义。
在第三方程序存在大量的调试属性函数,如:
#define LCD_UsrLog(format, ...)
#define LCD_ErrLog(format, ...)
在没有相应的LCD硬件支持,但我们希望保存这些调试输出信息,而不是重新去编写调试信息。
此时,我们可以重新宏定义到printf(format, ...),调试输出信息打印到串口调试软件。
宏定义如下:(##:但应用过程中不存在不定形参...时,消除“,”的错误)
#define LCD_UsrLog(format, ...) printf(format, ##__VA_ARGS__)
#define LCD_ErrLog(format, ...) printf("ERROR: "); printf(format, ##__VA_ARGS__)
实现调试信息打印到串口调试软件上。
附:
MDK hlep文档:
#define debug(format, ...) fprintf (stderr, format, __VA_ARGS__)void Variadic_Macros_0(){ debug ("a test string is printed out along with %x %x %x\n", 12, 14, 20);}IAR help文档:
#define MYSEG "YYY"
#define X(str) __no_alloc_str(str @ MYSEG)
extern void dbg_printf(unsigned long fmt, ...);
#define DBGPRINTF(fmt, ...) dbg_printf(X(fmt), __VA_ARGS__)
void
foo(int i, double d)
{
DBGPRINTF("The value of i is: %d, the value of d is: %f", i,d);
}
- 关于移植过程中,存在大量LCD log(不定形参...)等调试属性函数宏定义到printf
- 可变参数函数printf的实现(不使用va_list等内置宏定义)
- 总结几种log打印printf函数的宏定义
- 总结几种log打印printf函数的宏定义
- 总结几种log打印printf函数的宏定义
- 总结几种log打印printf函数的宏定义
- 总结几种log打印printf函数的宏定义
- 总结几种log打印printf函数的宏定义
- 总结几种log打印printf函数的宏定义
- 使用defineProperty定义属性的构造函数在调试过程中打印的一些小细节
- 使用defineProperty定义属性的构造函数在调试过程中打印的一些小细节
- LCD 驱动调试log
- 用于调试的printf函数和自定义log函数
- 用于调试的printf函数和自定义log函数
- uboot2010.03关于LCD输出的处理-printf()函数分析
- LCD 移植过程
- LCD 移植过程
- LCD 移植过程
- android 的四大组件之Broadcast Receiver
- Android的.so文件、ABI和CPU的关系
- latex与word之间的各种转化方法
- 给图片倒圆角
- BOM浏览器对象模型(brower object model)
- 关于移植过程中,存在大量LCD log(不定形参...)等调试属性函数宏定义到printf
- 设计模式(5)工厂模式-后记
- http协议 简介
- 面向对象(六)
- spring基本用法总结
- 关于 Warning:The `android.dexOptions.incremental` property is deprecated and it has no effect on the b
- SVN服务器搭建和eclipse插件安装和.net插件安装
- 离散曲率计算
- Android中获取手机自身的信息