新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2022-3-20
- 在线时间
- 2 小时
|
1金钱
//定时器3中断服务函数
void TIM3_IRQHandler(void)
{
static BaseType_t xHigherPriorityTaskWoken;
if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET) //溢出中断
{
TIM_ClearITPendingBit(TIM3,TIM_IT_Update); //清除中断标志位
taskENTER_CRITICAL(); //是这样给嘛?
/*给出二值信号*/
if( pdPASS == xSemaphoreGiveFromISR( xBinarySemaphore, &xHigherPriorityTaskWoken ) )
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);//如果需要的话进行一次任务切换
taskENTER_CRITICAL();
}
}
|
|