你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

定时器中断求助  

[复制链接]
飞翼我的心 提问时间:2016-11-24 08:08 /
开启定时器中断定时后,在主程序中我在某处中断使能位置零(TIMx_IER=0X00)正常来说应该返回到主程序中,但是出现单片机无法启动或者复位的情况,求解额
<
收藏 1 评论30 发布时间:2016-11-24 08:08

举报

30个回答
霹雳之火 回答时间:2016-11-24 16:06:20
飞翼我的心 发表于 2016-11-24 14:03
void TIM4_Init(void)
{
   TIM4_IER=0X00;

你用的是stm8吧,case 2中TIM4_IER=0X00是禁止中断吧    不过还是没理解楼主的意思。
PS 如果是stm8的问题 最好可以到stm8板块进行提问

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

飞翼我的心 回答时间:2016-11-24 14:03:13
霹雳之火 发表于 2016-11-24 13:49
楼主把关键部分代码贴出来吧

void TIM4_Init(void)
{
   TIM4_IER=0X00;
   TIM4_PSCR=0X04;
   TIM4_CNTR=0X00;
   TIM4_ARR=0X09;
   TIM4_IER=0X01;
   TIM4_CR1=0X01;
}
#define TIM4_OVR_UIF_vector 0x19
#pragma vector=TIM4_OVR_UIF_vector
__interrupt void TIM4_OVR_UIF_IRQHandler(void)
{
  TIM4_SR=0X00;
  switch(flag)
{
  case 1:
count14++;
if(count14==3)
{PWMOFF2();}
if(count14==4)
{PWMON();count14=0}
break;
case 2:
TIM4_IER=0X00;count14=0;break;
}
}
正常应该在case 2后关闭中断回到主程序,但是偶尔性的会出现无法启动
myfocus-2048857 回答时间:2016-11-24 09:16:52
等待高人回答
霹雳之火 回答时间:2016-11-24 13:49:36
楼主把关键部分代码贴出来吧
ts2000 回答时间:2016-11-24 15:35:30
帮顶上吧。
飞翼我的心 回答时间:2016-11-24 16:28:02
霹雳之火 发表于 2016-11-24 16:06
你用的是stm8吧,case 2中TIM4_IER=0X00是禁止中断吧    不过还是没理解楼主的意思。
PS 如果是stm8的问题 ...

我看这边人气高点。。。就是我打算在主程序里禁止中断,正常来说关了后就回到主程序了,但是我的会偶尔性出现程序停掉或者复位的情况
霹雳之火 回答时间:2016-11-24 20:33:17
飞翼我的心 发表于 2016-11-24 16:28
我看这边人气高点。。。就是我打算在主程序里禁止中断,正常来说关了后就回到主程序了,但是我的会偶尔性 ...

帮顶 stm8不是很熟 希望高手来看看 在中断程序里关闭中断 中断执行完了 应该会回到被中断的地方继续执行吧
飞翼我的心 回答时间:2016-11-25 08:28:02
霹雳之火 发表于 2016-11-24 20:33
帮顶 stm8不是很熟 希望高手来看看 在中断程序里关闭中断 中断执行完了 应该会回到被中断的地方继续执行 ...

中断使能位置零意思就是不再进入中断了对吧,谢谢斑竹
飞翔的荷兰人号 回答时间:2016-11-25 09:00:59
你的程序里的flag只有1和2两种情况吗,如果不是需要在switch里面加一个default:break的语句,不然就会出现很多奇怪的现象

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

1234下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版