同样的代码,printf打印出来结果不一样(已解决)
本帖最后由 vb2002 于 2024-8-7 23:28 编辑已解决,我把定时器改成1T好像就好了.不会乱打印了
stc8g1k08a sop8波特率 9600
stc8h1k08 ssop20 波特率105200
stc8h1k17 sop16 设置了4keeprom
printf打印的出来,前两个没问题,正确输出,
stc8h1k17 打印出来是空格,而且上电就打印 27行。各种波特率都试了。
只要用printf就出这个, 不用就没事.
换stc8g1k08a就没事,可以打印正确的数值
不应该,检查是否和EEPROM有关 wnagming 发表于 2024-8-7 14:54
试试用串口单独发数据
更正一下,,stc8g1k08A正常printf
stc8h1k08和stc8h1k17 不一样
那就可能是 stc8g和stc8h 里面可能有代码不兼容 DebugLab 发表于 2024-8-7 15:15
不应该,检查是否和EEPROM有关
更正一下,,stc8g1k08A正常printf
stc8h1k08和stc8h1k17 不一样
可能是stc8g和stc8h 在eeprom里面有点不一样 wnagming 发表于 2024-8-7 14:54
试试用串口单独发数据
单独串口发数据也不行,空格,不过没有那27行空格. 估计波特率计算出错了吧 soma 发表于 2024-8-7 19:12
估计波特率计算出错了吧
我又试了,波特率如果错的话,就一行错的.
但是我这个上电就20多个空白行.
程序单独运行没问题.
就是printf就有问题.
迷糊了. wnagming 发表于 2024-8-7 21:39
你单独发都不行,肯定是串口没有设置好呀
但是代码我一点都不改,用在stc8g1k08a上面就正常.
要么就是stc8g和stc8h设置不同.
我好好对比下 是不是波特率和系统时钟的原因了 嵌入式之路 发表于 2024-8-7 22:43
是不是波特率和系统时钟的原因了
好像可以了.
我把定时器12T换成1T就好了
页:
[1]