本人写了一个程序,正在用HAL库的外部中断,但是进入中断后就出不来了,不知道HAL库是如何清除终端标志位的,及跳出中断的。
还有在中断里的hal_delay不好使,并不知道是什么原因,还请大家解答一下。
int main()
{
HAL_Init();
SystemClock_Config();
gpio_init();
HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
HAL_NVIC_SetPriority(EXTI15_10_IRQn,0,4);
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
while(1)
{
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);
HAL_Delay(delay);
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);
HAL_Delay(delay);
}
}
void EXTI15_10_IRQHandler()
{
delay=336;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
为什么用开放板 提供的 Delay() 函数,不会出现这样的问题。 本质上 不是都用了滴答定时器?
没有使用中断是吧?就不会有中断优先级的问题?
一周热门 更多>