您的位置:首页 > 其它

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

2018-09-18 14:47 1156 查看

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

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

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

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

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

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

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

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: