|
|
|
#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();
|
|
|
|
// ADC初始化
|
|
|
|
L0_ADC_init();
|
|
|
|
}
|
|
|
|
|
|
|
|
void L0_BSP_init(void)
|
|
|
|
{
|
|
|
|
// 按键初始化
|
|
|
|
L2_key_init();
|
|
|
|
// LED初始化
|
|
|
|
L2_led_init();
|
|
|
|
// 语音模块初始化
|
|
|
|
L2_WT2605B_init();
|
|
|
|
// WIFI初始化
|
|
|
|
L2_Wifi_init();
|
|
|
|
// OID初始化
|
|
|
|
L2_OID_init();
|
|
|
|
|
|
|
|
LED2 = 0;
|
|
|
|
// L0_Oid_Init();
|
|
|
|
}
|
|
|
|
void L0_TASK_init(void)
|
|
|
|
{
|
|
|
|
//系统状态任务初始化
|
|
|
|
L3_task_AppStatus_init();
|
|
|
|
|
|
|
|
// 系统状态测试任务初始化
|
|
|
|
// L3_task_AppTest_init();
|
|
|
|
|
|
|
|
// 按键状态任务初始化
|
|
|
|
L3_task_KeyStatus_init();
|
|
|
|
|
|
|
|
//WIFI任务初始化
|
|
|
|
L3_task_W600_flow_init(W600_ST);
|
|
|
|
|
|
|
|
// //游戏任务初始化
|
|
|
|
// 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)
|
|
|
|
{
|
|
|
|
//板U初始化
|
|
|
|
L0_MCU_init();
|
|
|
|
//eeprom参数读取
|
|
|
|
L3_param_read();
|
|
|
|
//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();
|
|
|
|
|
|
|
|
while(1)
|
|
|
|
{
|
|
|
|
if(1 == s_nos_tick.t1s_heartbeat)//1s
|
|
|
|
{
|
|
|
|
s_nos_tick.t1s_heartbeat = 0;//置0清空
|
|
|
|
// L0_uart0_uc('.');
|
|
|
|
// L0_uart0_sendstr("ADC = ");
|
|
|
|
L0_uart0_us(L1_ADC_Read(12));
|
|
|
|
|
|
|
|
}
|
|
|
|
// // 系统状态任务
|
|
|
|
// L3_task_appstatus_handler(&_s_task_appstatus);
|
|
|
|
// // 系统状态测试任务
|
|
|
|
// // L3_task_AppTest_handler(&_s_task_apptest);
|
|
|
|
// // 按键状态任务
|
|
|
|
// L3_task_keystatus_handler(&_s_task_keystatus);
|
|
|
|
// // OID和WIFI任务
|
|
|
|
// if (R.app_status != POW_OFF)
|
|
|
|
// {
|
|
|
|
// // OID数据采集
|
|
|
|
// L1_Oid_readoid();
|
|
|
|
// // WIFI数据解析
|
|
|
|
// L3_uart2_wifi_parse();
|
|
|
|
// L2_task_W600_flow_handle(&_s_task_w600_para);
|
|
|
|
// }
|
|
|
|
#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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
//笔头数据采集
|
|
|
|
// L3_task_oid_handle(&ts_task_oid);
|
|
|
|
//寄存器值监控
|
|
|
|
// 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
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// L0_uart0_sendstr("_s_w600_mode =");
|
|
|
|
// L0_uart0_uchex(_s_task_w600_para.mode);
|
|
|
|
// L0_uart0_0d0a();
|
|
|
|
// L0_uart0_sendstr("R.app_status =");
|
|
|
|
// L0_uart0_uchex(R.app_status);
|
|
|
|
|
|
|
|
// 上电读出寄存器中的值,放到数组中
|
|
|
|
// 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();
|
|
|
|
// }
|