|
|
|
#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();
|
|
|
|
}
|
|
|
|
void L0_TASK_init(void)
|
|
|
|
{
|
|
|
|
//系统状态任务初始化
|
|
|
|
L3_task_AppStatus_init();
|
|
|
|
|
|
|
|
L3_task_AppTest_init();
|
|
|
|
// //游戏任务初始化
|
|
|
|
// L3_task_game_init();
|
|
|
|
// //寄存器监听任务初始化
|
|
|
|
// L3_task_reglisten_init();
|
|
|
|
// //w600任务初始化
|
|
|
|
// L3_task_gm35_flow_init(W600_ST);
|
|
|
|
// //笔头任务初始化
|
|
|
|
// 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清空
|
|
|
|
// D_print_heartbeat()
|
|
|
|
// L0_uart0_uc('.');
|
|
|
|
// L0_uart0_sendstr("eeprom test :");
|
|
|
|
// L0_uart0_0d0a();
|
|
|
|
// for (i = 0; i < DATA_SAVE_LEN; i++)
|
|
|
|
// {
|
|
|
|
// L0_uart0_uchex(i);
|
|
|
|
// L0_uart0_uc('=');
|
|
|
|
// L0_uart0_uchex(data_save_arr[i].val);
|
|
|
|
// L0_uart0_0d0a();
|
|
|
|
// }
|
|
|
|
// L0_uart0_sendArrayHex(data_save_arr, 30);
|
|
|
|
L0_uart0_uc('.');
|
|
|
|
// i ++;
|
|
|
|
// if (i == 2)
|
|
|
|
// {
|
|
|
|
// L2_GREEN_LED_ON();
|
|
|
|
|
|
|
|
// }
|
|
|
|
// if (i == 4)
|
|
|
|
// {
|
|
|
|
// L2_RED_LED_ON();
|
|
|
|
// }
|
|
|
|
// if (i == 6)
|
|
|
|
// {
|
|
|
|
// i = 0;
|
|
|
|
// L2_LED_OFF();
|
|
|
|
// }
|
|
|
|
|
|
|
|
// L0_uart3_sendArray((U8 *)&audio_up,9);
|
|
|
|
}
|
|
|
|
|
|
|
|
L3_task_appstatus_handler(&_s_task_appstatus);
|
|
|
|
L3_task_AppTest_handler(&_s_task_apptest);
|
|
|
|
|
|
|
|
// // 串口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);
|
|
|
|
// }
|
|
|
|
#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_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_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
|