#include "main.h" void L0_main_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(); // P53口初始化 推挽输出 L0_PW_3V3_INIT(); // 控制3v3输出(OID,WIFI) L0_PW_3V3_ON(); //开启全局中断 EA = 1; #if 0 L1_oid_init(); printf(" ok\r\n"); while(9) {L1_Oid_readoid();} #endif //系统时钟初始化 // 定时器初始化 L0_timer0_Init(); //G初始化 L3_param_init(); //R初始化 L3_reg_init(); //485初始化 L2_485_init(); //游戏任务初始化 L3_task_game_init(); //寄存器监听任务初始化 //L3_task_reglisten_init(); //w600任务初始化 // L3_task_gm35_flow_init(W600_ST); //按键任务初始化 L0_key_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}; //初始化 L0_main_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("v1.0",4); 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); while(1) { L1_Oid_readoid(); if(1 == s_nos_tick.t1s_heartbeat)//1s { s_nos_tick.t1s_heartbeat = 0;//置0清空 D_print_heartbeat() L0_uart0_uc('.'); } #if 0 // 串口2的 接收数据 测试 // if(ts_uart[uNum2].r.ok == 1) // { // ts_uart[uNum2].r.ok = 0; // L0_uart0_sendArray(ts_uart[uNum2].r.buf, D_recv2_max); // } // 串口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_gm35_flow_handle(&s_task_gm35_flow); //寄存器值监控 L3_task_reglisten_handle(&s_task_reglisten); //输出,响应485协议 //L3_task_modbus_handler(&s_uart0_rec); //语音模块 L3_task_speech_handle(&ts_speech); //按键处理 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