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

为何STM8S003F3进不了TIM1中断?

[复制链接]
epwwm 提问时间:2020-3-4 11:31 /
第一次中STM8S003F3的中断,用的是固件库,其他还好,当想用中断,弄了半天也进不了定时中断,

定时器初始
void TIMER1_Init(void)  
{  
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE);//开时钟  
  TIM1_DeInit();
  TIM1_Cmd(DISABLE);  
  TIM1_TimeBaseInit(16,TIM1_COUNTERMODE_UP,1000,0);     //16分频,向上计数,每1ms定时中断一次, 重复计数器值为0     
  TIM1_ARRPreloadConfig(ENABLE);
  TIM1_ITConfig(TIM1_IT_UPDATE , ENABLE);  
  
  TIM1_Cmd(ENABLE);  
}  


stm8s_it.c 的中断入口:

INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11)
{
  /* In order to detect unexpected events during development,
     it is recommended to set a breakpoint on the following instruction.
  */
  
//  TIMER1_Decrement();  
  TIM1_ClearITPendingBit(TIM1_IT_UPDATE);  
}




主函数:

void main(void)
{

#include "stm8s.h"


     TIMER1_Init();
     enableInterrupts();   

  while(1)
  {}

}


用IAR for stm8 ,编译,软件仿真,怎么搞也进不了定时1的中断。
到底漏了什么呢??
收藏 评论5 发布时间:2020-3-4 11:31

举报

5个回答
wenyangzeng 回答时间:2020-3-4 14:09:24
这个官方例程参考看看

TIM1.rar (46.36 KB, 下载次数: 103)

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

wudianjun2001 回答时间:2020-3-4 14:48:36
ITC->ISPR5 = 0xDF;        //18AD中断优先级设置为1。10为0,01为1,00为2,11为3
ITC->ISPR6 = 0xFF;                //23T1中断优先级设置为3,默认,优先级最高

这两个寄存起设置了吗?我都用的寄存器,没用库

评分

参与人数 1蝴蝶豆 +4 收起 理由
STMCU + 4

查看全部评分

epwwm 回答时间:2020-3-4 15:33:04
感谢各位
whstep 回答时间:2020-5-22 23:30:56
赞一个
ligg 回答时间:2020-5-29 11:54:44
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版