关于IAR for stm8 printf打印不正确的问题

写了一个关于红外Pyd1798的测试程序,由于原来是基于stm8L的方案,为了节约时间就没有换方案,经过几天的了解才知道stm8原来也是有库的,与stm32有异曲同工之妙。

根据Pyd1798的手册,开始写时序函数,刚开始是按Datasheet老版本的写,出来的波形还行,但一直就是打印不正确。由于还不知道写的时序对不对,所以在网上查资料,又下了一版较新的Pyd1798根据那个时序又写读函数,结果根本没有得到数据手册标的时序波形。现在才发现原来,自己用的这个Pyd1798是个老版本的。

确定不是时序问题后,就开始找原因。先看直接输出行不行?printf("%d\n",100);

结果还是输出原来的值。可见是printf的问题。其实IAR一直是提示有Wanning    printf 是单独声明

原来,在头文件声明时,没有加  #include<stdio.h>的函数。

加上后,打印一个无符号16位的数,正常,不是所谓的16位要拆开来打印。

这些弯路其实都是可以避免的,但也未尝不是件好事,通过找问题,扩展了很多的心里不知道怎么弄的东西。

猜你喜欢

转载自blog.csdn.net/guangod/article/details/82757456