找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1432|回复: 9
收起左侧

C语言为什么if不能判断定时器溢出?

[复制链接]
ID:395353 发表于 2019-6-26 10:46 来自手机 | 显示全部楼层 |阅读模式
求助,求助,求助。
IMG_20190626_104610R.jpg
回复

使用道具 举报

ID:395353 发表于 2019-6-26 13:22 来自手机 | 显示全部楼层
没人么。。。。。。
回复

使用道具 举报

ID:332444 发表于 2019-6-27 09:33 | 显示全部楼层
注意代码书写的顺序,所有计算机程序都是顺序型的,代码的顺序代表要执行的次序,直接影响程序是否正确
回复

使用道具 举报

ID:332444 发表于 2019-6-27 10:13 | 显示全部楼层
很可惜这个论坛没"我回复过的帖子"的功能,无法找到之前相关中断的帖子,费大时间找不到之前的帖子,很不方便.
回复

使用道具 举报

ID:565305 发表于 2019-6-27 10:31 | 显示全部楼层
虽然写这种判断,中断里处理或者 while 处理均可,来点简单的:

TR0=1;  TMOD=0x01; TH0=(65535-5000)/256; TL0=(65535-5000)%256;
while(1)
{
      if(TF0)
     {
          TF0=0;
          ....
     }
}

楼主的代码,就好像去厨房烧开水,刚刚把火点上,就看温度是不是到了100℃。 起码也得多看几个轮回啊
回复

使用道具 举报

ID:332444 发表于 2019-6-27 10:36 | 显示全部楼层
看这贴我回复的程序代码http://www.51hei.com/bbs/mcu-h24-13.html
回复

使用道具 举报

ID:573245 发表于 2019-6-27 10:49 | 显示全部楼层
代码写的有问题,顺序执行
回复

使用道具 举报

ID:160500 发表于 2019-6-27 12:12 | 显示全部楼层
代码逻辑错误,不能循环赋值定时器
回复

使用道具 举报

ID:573475 发表于 2019-6-27 15:35 | 显示全部楼层
应该不是不能判断是否有溢出,要看定时器是否启动了,PC指针追踪一下流向。
回复

使用道具 举报

ID:388197 发表于 2019-6-27 18:20 | 显示全部楼层
建议你重新阅读下教材或者重新看看相关的视频.有些概念性的东西不能走捷径的,否则问题多多,事半功倍.
你把中断初值写在MAIN的主循环里,并且没有打开ET0 EA,你要想想如下问题.
中断到底执行了吗?
就算执行了, TF0有可能会置1吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表