用IAR调试MSP430的ADXL345的程序,发现 读取ADXL345成功后,用printf输出总是有问题。
其中putchar的具体实现为:
int putchar(int ch)
{
if(ch=='
') //'
'(回车)扩展成'
''
'(回车+换行)
UartWriteChar('
');//0x0d换行
else
UartWriteChar(ch); //从串口发出数据
return(ch);
}
printf输出部分,程序为:
Multiple_readI2C(ADXL345_ADDRESS,&buf[0],ADXL345_DATAX0 ,6);
printf("获得的数据为:");
int i=0;
for (i=0;i<10;i++)
printf("%d ",buf
);
printf("
");
输出效果为:
获得的数据为:115 115 115 115 115 115 115 115 115 115
buf的定义为:
uchar buf[10];
调试时buf数据为:
此帖出自小平头技术问答
一目了然到是,关键是putchar的ch的数据是怎么来的?
应该是buf映射到ch的,实际上却不是。
一周热门 更多>