MSP430的 printf 实现

2019-03-24 09:24发布

用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数据为:



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
568760310
2019-03-24 22:19
lcofjp 发表于 2016-5-1 08:42
这个调试很简单,在putchar处打个断点不就一目了然了。

一目了然到是,关键是putchar的ch的数据是怎么来的?
应该是buf映射到ch的,实际上却不是。

一周热门 更多>

相关问题

    相关文章