#include "main.h" void L0_MCU_init(void) { Lc_delay_ms(200); //板卡初始化 L0_board_config(); //串口0初始化 L0_uart0_buf_init(); //串口2初始化 L0_uart2_buf_init(); //串口3初始化 L0_uart3_buf_init(); //Lc_delay_ms(100); L1_tick_init(); //开启全局中断 EA = 1; // 定时器初始化 L0_timer0_Init(); //G初始化 L3_param_init(); //R初始化 L3_reg_init(); } void L0_BSP_init(void) { // 按键初始化 L2_key_init(); // LED初始化 L2_led_init(); // 语音模块初始化 L2_WT2605B_init(); // P53口初始化 推挽输出 L0_PW_3V3_INIT(); // 控制3v3输出(OID,WIFI) L0_PW_3V3_ON(); LED2 = 0; } void L0_TASK_init(void) { //系统状态任务初始化 L3_task_AppStatus_init(); // L3_task_AppTest_init(); L3_task_KeyStatus_init(); //w600任务初始化 L3_task_W600_flow_init(W600_ST); L3_task_SmartConfig_init(); // //游戏任务初始化 // L3_task_game_init(); // //寄存器监听任务初始化 // L3_task_reglisten_init(); // //笔头任务初始化 // L1_oid_init(); // //语音模块初始化 // L3_task_speech_init(); // //tcp轮询任务初始化 // L3_task_tcp_init(); // L3_task_tcp_control_init(); } //=============================================== //主函数 //=============================================== void main(void) { // int i; // u8 voice_30[6] = {0x7E,0x04,0xAE,0x1E,0xD0,0xEF}; // u8 voice_13[6] = {0x7E,0x04,0xAE,0x0D,0xBF,0xEF}; //板U初始化 L0_MCU_init(); //BSP层初始化 L0_BSP_init(); //任务初始化 L0_TASK_init(); //获取mcu id L0_id_get_rom(G.mcu_id); L0_uart0_sendstr("MCU_ID = "); L0_uart0_0d0a(); L0_uart0_sendArrayHex(G.mcu_id,7); L0_uart0_0d0a(); //打印程序版本信息 L0_uart0_sendArray("PEN_V2",6); L0_uart0_0d0a(); //Lc_delay_ms(3000); //L0_uart3_sendArray((U8 *)&voice_30,6); //Lc_delay_ms(1000); //L0_uart3_sendArray((U8 *)&audio_up,9); // 上电读出寄存器中的值,放到数组中 // L0_Iap_Read_array(EEPROM_DATA_ADDR, data_save_arr,sizeof(data_save_arr)); // if(data_save_arr[0].head[0] != HEAD0 || data_save_arr[0].head[1] != HEAD1 // || data_save_arr[0].tail[0] != TAIL0 || data_save_arr[0].tail[1] != TAIL1) // { // data_save_init(); // } while(1) { // L1_Oid_readoid(); if(1 == s_nos_tick.t1s_heartbeat)//1s { s_nos_tick.t1s_heartbeat = 0;//置0清空 L0_uart0_uc('.'); L0_uart0_sendstr("_s_w600_mode ="); L0_uart0_uchex(_s_task_w600_para.mode); } L3_task_appstatus_handler(&_s_task_appstatus); // // L3_task_AppTest_handler(&_s_task_apptest); L3_task_keystatus_handler(&_s_task_keystatus); // // WIFI L3_uart2_wifi_parse(); L2_task_W600_flow_handle(&_s_task_w600_para); // if (R.app_status == POW_ON) // { // L3_uart2_wifi_parse(); // L2_task_W600_flow_handle(&_s_task_w600_para); // } // if (R.app_status == WIFI_CONFIG) // { // L2_task_W600_flow_handle(&_s_task_w600_para); // } #if 0 // 串口3的 接收数据 测试 if(ts_uart[uNum3].r.ok == 1) { ts_uart[uNum3].r.ok = 0; L0_uart0_uc('@'); L0_uart0_sendArray(ts_uart[uNum3].r.buf, D_recv3_max); } // if(L3_tick_interval(100L))/////10ms // {L2_tick_stamp(); // D_print_heartbeat_close(); /// L1_as_readA(0);//读取倾角传感器数据 /// Lc_buf_copy_uc(s_uart1_rec.buf,s_as[0].d,8); // s_uart1_rec.buf= 传感器数据 /// ff 08 xh xl yh yl zh zl /// s_uart1_rec.ok =1; /// L2_sd_save(); #endif ///////////////////////////////////////// #if 0 if(s_uart0_rec.ok) { //// buf 0 1 2 3 4 5 6 7 //// FA 0D 36 20 10 55 05 06 s_uart0_rec.ok = 0; L1_uart0_uchexArray(s_uart0_rec.buf,s_uart0_rec.num); switch(s_uart0_rec.buf[1]) { case 0x0d: // L1_sd_debug(&s_uart0_rec.buf[2]); break; case 0x00: L1_oid_debug(&s_uart0_rec.buf[2]); break; default: break; } } // 7E 04 AE 1E XX EF #endif // 游戏处理 // L3_task_game_handler(&_s_task_game); //笔头数据采集 // L3_task_oid_handle(&ts_task_oid); //WIFI // L3_uart2_exp_protocol(&s_uart2_at); // L2_task_W600_flow_handle(&_s_task_w600_para); //寄存器值监控 // L3_task_reglisten_handle(&s_task_reglisten); //输出,响应485协议 //L3_task_modbus_handler(&s_uart0_rec); //语音模块 // L3_task_speech_handle(&ts_speech); //按键处理 // L3_task_btn_handler(); // L3_task_key_handle(&s_task_key_handle); //L3_task_modbus_handler2(&s_uart2_rec); #if 1 //tcp发送 // L3_task_tcp_handle(&ts_tcp); //tcp master->slaver发送逻辑控制 // L3_task_tcp_control_handle(&ts_tcp_control); #endif } } //end main