萌新小白YXY 2020-01-31 22:11 采纳率: 66.7%
浏览 464
已采纳

STM8L051定时器中断无法进入?

//定时器初始化
void Tim1_Init(void)
{
  TIM1_DeInit();
  TIM1_TimeBaseInit(16,TIM1_CounterMode_Up,1000,0); //(定时器频率:16分频即系统频率的1/16,为1M,向上计数,定时器溢出值,重装载计数从0开始) ,1MS进入一次中断
  TIM1_ITConfig(TIM1_IT_Update,ENABLE);//中断配置与使能函数
  TIM1_ARRPreloadConfig(ENABLE);//使能数值自动重装载功能
  TIM1_Cmd(ENABLE);//开定时器  
  enableInterrupts();//开启总中断
}
//时钟设置
void sys_clock_init(void) //咱也不知道为啥 外部时钟就是不行
{
  CLK_DeInit();
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);//配置分频系数
  while(CLK_GetClockFreq() != 16000000);  //测试时钟频率 
}

void main(void)
{
  GPIO_DeInit(GPIOD);
  GPIO_Init(GPIOD,GPIO_Pin_0,GPIO_Mode_Out_PP_High_Fast);
  sys_clock_init();//时钟初始化
  Tim1_Init();//定时器初始化
  GPIO_WriteBit(GPIOD,GPIO_Pin_0,RESET);
  while (1)
  {    
  }
}

INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_COM_IRQHandler,23)
{ //中断服务函数
  GPIO_WriteBit(GPIOD,GPIO_Pin_0,SET);
  TIM1_ClearITPendingBit(TIM1_IT_Update);//清除更新计数器标志位
}

如题,我是想进入中断后让LED灯熄灭,但是就是不成功,希望大佬能指出我的错误,谢谢大佬。

  • 写回答

2条回答 默认 最新

  • 码路边的发糕 2020-02-10 01:12
    关注

    外设时钟打开了吗?stm8l系列不同于stm8s系列,外设时钟默认关闭的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载