出了怪问题,STM32F103加法算错

[复制链接]
2513|5
 楼主| re张风 发表于 2012-12-22 13:54 | 显示全部楼层 |阅读模式
看这节代码吧:
i=Tim2_IRQ_CNT + (int)TIM2->CNT;
printf("%08d+%04d=%08d\r\n",Tim2_IRQ_CNT,TIM2->CNT,i);

输出结果如下,打星的两行:
00000501+8705=00009206
00000501+8784=00009285
00000501+8863=00364   *****************
00000501+8942=00009443
00000501+9021=00009522
00000501+9100=00009601
00000501+9179=00009680
00000501+9258=00759     ****************
00000501+9338=00009839
00000501+9417=00009918
00000501+9496=00009997
00000501+9575=00010076
uet_cache 发表于 2012-12-22 15:39 | 显示全部楼层
呵呵,奇怪,,
uet_cache 发表于 2012-12-22 15:40 | 显示全部楼层
计算应该还是没错吧,你的输出格式是8位,错的,也只能说明输出错了5位,不知另3位跑哪去了。
uet_cache 发表于 2012-12-22 15:40 | 显示全部楼层
计算应该还是没错吧,你的输出格式是8位,错的,也只能说明输出错了5位,不知另3位跑哪去了。
dami 发表于 2012-12-22 16:10 | 显示全部楼层
i定义的是int吗?不是就不能怪别人了。
 楼主| re张风 发表于 2012-12-23 13:45 | 显示全部楼层
肯定是int。
但愿真的是printf转换出错,那不然,末日真的就来了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:走,向前走,再走,继续走! http://www.uectr.com

51

主题

525

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部