完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我已经成功地将 Serial.prinft() 用于我的调试输出。现在,我在#ifdef DEBUG_MODE ... #endif 预处理器指令之间划了界线。
为了让代码阅读起来更清晰、更简洁,我决定为 Serial.printf() 编写一个简单的包装函数。这个函数看起来像这样: 代码:全选debugPrintf(const char *format, ...) { if (DEBUG_MODE) { va_list args; va_start(args, format); Serial.printf(format, args); va_end(args); } } 这个问题是,文本(printf() 的第一个参数)打印得很好,但是之前替换/格式化的所有值/占位符现在都替换为任意数字。 示例: 而不是像这样的东西 代码:全选Taillights (TL) : 254 (received value: 254) Sidelights (SL) : 0 (received value: 0) Reversing Lights (REV): 0 (received value: 0) Indicator L (IL) : 0 (received value: 0) Indicator R (IL) : 0 (received value: 0) 我明白了: 代码:全选Taillights (TL) : 1073741664 (received value: 1073741648) Sidelights (SL) : 1073741664 (received value: 1073741648) Reversing Lights (REV): 1073741664 (received value: 1073741648) Indicator L (IL) : 1073741664 (received value: 1073741648) Indicator R (IL) : 1073741664 (received value: 1073741648) 我只想将我自己的函数的参数直接传递给 Serial.printf(),但似乎有问题。我在整个 Web 上进行了搜索,但只能找到看起来基本上与我正在做的一样的解决方案。 有任何想法吗? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
528浏览 6评论
438浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
425浏览 5评论
423浏览 4评论
398浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 15:19 , Processed in 0.767522 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号