在CH573F开发板上运行CentPeri例程,插入任务LED闪灯任务失败,照着教程做的,就是有警告,且任务失败,没有运行起来闪LED。
任务函数:
u16 Led_Shan_task_process_event( u8 task_id , u16 events )
{
if(events & LED_TASK_TMOS_EVENT1) //event 处理
{
GPIOA_InverseBits(GPIO_Pin_4);
GPIOB_InverseBits(GPIO_Pin_4);
tmos_start_task(Led_Task_ID,LED_TASK_TMOS_EVENT1,1600); //重启=任务,1秒循环
PRINT("Led_Task_ID test22222222222222222222222222 \r\n");
return (events ^ LED_TASK_TMOS_EVENT1); //异或的方式清除该事件运行标志,并返回未运行的事件标志
}
return 0; //未知事件则丢弃
}
任务初始化:
void Led_Shan_Task_Init( void )
{
Led_Task_ID = TMOS_ProcessEventRegister( Led_Shan_task_process_event );
tmos_start_task(Led_Task_ID,LED_TASK_TMOS_EVENT1,1600); //开启任务
}
初始化时插入闪灯任务:
CH57X_BLEInit( );
HAL_Init( );
GAPRole_PeripheralInit( );
CyclingSensor_Init( );
Led_Shan_Task_Init(); //加入闪灯任务
Main_Circulation();
编译时出现警告:
/APP/cyclingsensor_main.c:141:44: warning: passing argument 1 of 'TMOS_ProcessEventRegister' from incompatible pointer type [-Wincompatible-pointer-types]
Led_Task_ID = TMOS_ProcessEventRegister(Led_Shan_task_process_event);
我传入的就是一个函数呀,为什么会有这个警告?而且任务是失败的,没有闪起来