예제 #1
0
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();
	}
}
예제 #2
0
/*********************************************************************************
 * @函数名称  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);   //删除自己
}