关于STM8S003F3U6单片机的定时器2中断的配置,库函数版的,我自己写的总是进不去中断

2019-07-19 20:21发布

本帖最后由 Jayq 于 2015-12-26 09:34 编辑

RT<br>
我自己写的一个中断配置,总是进不去中断:<br>
    TIM2_DeInit();<br>
    TIM2_TimeBaseInit(TIM2_PRESCALER_16,500);                //16分频,1Mhz,定时为500us中断一次。<br>
    TIM2_ClearFlag(TIM2_FLAG_UPDATE);<br>
    TIM2_UpdateRequestConfig(TIM2_UPDATESOURCE_REGULAR);<br>
    TIM2_ITConfig(TIM2_IT_UPDATE,ENABLE);<br>
    //TIM2_SetCounter(0x0000);<br>
    TIM2_Cmd(ENABLE); <br>
    enableInterrupts();<br>
<br>
我的中断处理部分是在stm8s_it中写的:(加粗的那个函数)<br>
#else /*STM8S208, STM8S207, STM8S105 or STM8S103 or STM8AF62Ax or STM8AF52Ax or STM8AF626x */<br>
/**<br>
  * @brief Timer2 Update/Overflow/Break Interrupt routine.<br>
  * @param  None<br>
  * @retval None<br>
  */<br>
INTERRUPT_HANDLER(TIM2_UPD_OVF_BRK_IRQHandler, 13)//溢出中断
<br>
以上,我注意到,这里并没有关于STM8S003的中断入口定义,然后我找完了这个STM8S_it.c文件(ctrl+h找关键词),除了串口1那里外,真的没有找到STMS003的中断入口定义——我很奇怪,如果自己定义中断入口的话,使用的格式应该是:<br>
#pragma vector=**<br>
__interrupt void TIM2_IRQ()<br>
{<br>
   TIM2_ClearITPendingBit(TIM2_IT_UPDATE); //清中断标志位<br>
}<br>
<br>
以上的vector应该取多少?还是14?<br>
<br>
<br>
<br>
昨天刚接触这个单片机,今天调了一个晚上了,可能我太菜了哪里不懂,求各位大大帮帮忙<br>
<br>
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
Jayq
1楼-- · 2019-07-20 00:57
 精彩回答 2  元偷偷看……
Jayq
2楼-- · 2019-07-20 04:35
.........................................
正点原子
3楼-- · 2019-07-20 07:49
帮顶
haauhaau
4楼-- · 2019-07-20 10:07
 精彩回答 2  元偷偷看……
hexboot
5楼-- · 2019-07-20 12:00
haauhaau 发表于 2016-1-22 17:41
有点乱    看不出你错哪里      试把enableInterrupts();换写成__enable_interrupt();
接着下面是我平时写 ...

这样还是进不了中断啊

一周热门 更多>