int main(void) { Bsp_Init(); Drv_Init(); Drv_LCD_Clear(); Drv_LCD_GotoXY(0, 0); Drv_LCD_String((void*)"CORNELL ECE-4760", 16); sei(); Drv_Debug_Printf("Hello, AVR!\r\n"); TMR1_ENABLE_CAPT_ISR(); TMR1_ENABLE_OVF_ISR(); App_Task_Register(); TMR0_CLR_CNTR(); TMR0_START_COUNT(); TMR0_ENABLE_ISR(); while(1) { App_Task_Exec(); App_Cap_Measure_Task(); } }
/********************************************************************************* * @函数名称 Start_Task() * @函数功能 开始任务 * @入口参数 pdata * @出口参数 无 *********************************************************************************/ static void Start_Task(void *pvParameters) { (void)pvParameters; vTaskDelay(60*configTICK_RATE_HZ); //延时60s等待电流稳定后再采样 Bsp_Init(); //各种初始化 taskENTER_CRITICAL(); //关中断 /*在这里创建其他任务*/ Main_Task_Create(MAIN_TASK_PRIO); Control_Task_Create(CONTROL_TASK_PRIO); USART_Task_Create(USART_TASK_PRIO); Encoder_Task_Create(Encoder_TASK_PRIO); LED_Task_Create(LED_TASK_PRIO); taskEXIT_CRITICAL(); //开中断 vTaskDelete(NULL); //删除自己 }