使用printf函数可以打印0x00出来吗?
意思是想在UART输出一个十六进制数 0x00 当然可以啊。。。有停止位。可以打印出来 "0x%02X" \x00,转义一下 十六进制直接用串口发送的函数不是更简单么 kitten 发表于 2023-7-3 17:59十六进制直接用串口发送的函数不是更简单么
(引用自5楼)
代码空间吃紧的原因,打印的数据结构很复杂,使用printf可以很方便的输出。 tang_qianfeng 发表于 2023-7-3 17:58
\x00,转义一下
(引用自4楼)
大神方便写一下完整的语句吗?{:lol:} 字符串里哪里要输出00,就添哪里啊 tang_qianfeng 发表于 2023-7-3 18:12
字符串里哪里要输出00,就添哪里啊
(引用自8楼)
这个不行:arch_printf("DEVICE_NAME\x00");
arch_printf这个不是标准的printf,看来是它的原因咯? 0在字符串里是作为结束符使用,如果你把0插到中间会导致字符串被截断。
检查一下arch_printf定向的putc之类的函数,然后直接输出。 iamseer 发表于 2023-7-4 02:41
0在字符串里是作为结束符使用,如果你把0插到中间会导致字符串被截断。
检查一下arch_printf定向的putc之类 ...
(引用自10楼)
谢谢您提供的方向。 0x0直接输出就可以了呀,有什么问题?\0才是结束符
laujc 发表于 2023-7-4 07:35
0x0直接输出就可以了呀,有什么问题?\0才是结束符
(引用自12楼)
'\0'==0 0x00=\0 ,只能输出'0',或者不用printf Landmark 发表于 2023-7-3 18:01
代码空间吃紧的原因,打印的数据结构很复杂,使用printf可以很方便的输出。 ...
(引用自6楼)
代码空间吃紧就不要用print了,你可以把所有的print去掉看能省下多少空间 yyts 发表于 2023-7-4 09:50
代码空间吃紧就不要用print了,你可以把所有的print去掉看能省下多少空间
(引用自15楼)
我这个MCU比较奇特,printf的代码已经固化在ROM当中,相当于它提供一个函数指针给我调用,而这个函数指针指向到ROM当中,
也就是说printf不占用我所编译代码的空间,不用它就白不用了。 Landmark 发表于 2023-7-4 09:58
我这个MCU比较奇特,printf的代码已经固化在ROM当中,相当于它提供一个函数指针给我调用,而这个函数指针 ...
(引用自16楼)
printf本身都会转成字符串,你用0x00干嘛,不是应该直接变成"00"吗 sizeof()查询要发送的数据长度即可, 初音之恋 发表于 2023-7-4 08:43
0x00=\0 ,只能输出'0',或者不用printf
(引用自14楼)
0的ascii码是48
\0的ascii码是0
怎么相等了?
想输出0就直接输出了,没感觉有什么问题,和输出0x01有区别吗
可能我还是没明白楼主的问题吧 laujc 发表于 2023-7-4 10:20
0的ascii码是48
\0的ascii码是0
怎么相等了?
(引用自19楼)
0x0 是 0 不是48
页:
[1]