OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2396|回复: 1

定时器中断

[复制链接]

39

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2017-6-8
在线时间
46 小时
发表于 2017-8-3 00:52:38 | 显示全部楼层 |阅读模式
1金钱
最近在学习stm8,做1638的时候想用定时器中断,但是突然发现一个问题:
先简单的说一下我的程序设计,主函数的while(1)设置的是两种状态,想用定时器计时切换状态用中断反转temp的值来实现,temp初值设置的是1。
while(1)
  {
    if(temp==1)
    {
      SMG_1_8();
      led_allHZ(200);  //200的延迟闪
    }
    if(temp==-1)
    {
      SMG_8_1();
      led_allHZ(100);  //100的延时闪
    }


然后问题来了,函数首先执行temp==1,但是执行完以后没到定时器设置的时间就直接进入中断反转值进入temp==-1;
然后查了相关资料,stm32也有相关的问题,解决问题是在初始化定时器的时候加上清除标志位,但是我在stm8上的初始化里加清除标志位解决不了,求大神指导,谢谢

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2017-5-3
在线时间
37 小时
发表于 2017-8-3 09:03:00 | 显示全部楼层
if(temp==1)
    {
      SMG_1_8();
      led_allHZ(200);  //200的延迟闪
    }
  else
    {
      SMG_8_1();
      led_allHZ(100);  //100的延时闪
    }
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-20 06:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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