诸位我使用单片机的串口打印来查看数据,代码如下:
printf("ExposureL 0x%X LowSum 0x%08lX MidSum 0x%08lX HighSum 0x%08lX\n",ExposureL,LowSum,MidSum,HighSum);
printf("HighSum 0x%08lX\n",HighSum);
printf("0x000003e4 0x%08lX \n",isp_read_reg(0x000003e4));
其中ExposureL,是16位无符号数。LowSum,MidSum,HighSum 都是无符号32位整数使用0x%08lX输出。现在的问题是,LowSum,MidSum这两个数据打印结果正确。但是,HighSum始终不对。
一开始以为,是本来 HighSum 数据的读取就没有正确,所以,在下面代码中,独立打印数据 HighSum,结果反而对了。
这是打印结果,红框1那里的打印结果不对,但是红框2那里独立打印变量 HighSum 又反而对了。
所以,想知道一点:是否在单片机的printf打印输出时候,存在一个对打印参数的个数限制?例如最多打印三个,不然就错了?
|