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

定时器中断求助  

[复制链接]
飞翼我的心 提问时间: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扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版