int main()
{
OS_CPU_SR cpu_sr;
#if ((MBUS1_EN > 0) || (MBUS2_EN > 0))
CMBusComm param;
#endif
//禁止中断
OS_ENTER_CRITICAL(cpu_sr);
//硬件初始化
HDWInitSetup();
//操作系统初始化
OSInit();
//出厂设置,这个要放在操作系统初始化之后
SysInitialize();
//Modbus
#if (MBUS1_EN > 0)
//从EEPROM中读取
GetSRU1USARTParam(¶m);
MBUS1Init(param.BaudRate, (CMB1Parity)param.CheckBit);
// MBUS1Init(9600, (CMB1Parity)MB1_PAR_NONE);
#endif
#if (MBUS2_EN > 0)
//从EEPROM中读取
GetSRU2USARTParam(¶m);
MBUS2Init(param.BaudRate, (CMB2Parity)param.CheckBit);
// MBUS2Init(9600, (CMB2Parity)MB2_PAR_NONE);
#endif
#if (MBUS1_EN > 0)
SRU1Initial();
#endif
#if (MBUS2_EN > 0)
SRU2Initial();
#endif
GUIInitial();
#if (EXT_AIO_EN > 0)
ADCPInit();
#endif
//注册底层驱动
OSScanHardwareCB(HardWareScanTask);
//中断服务子程序管理创建
#if (MBUS1_EN > 0)
OSISRCreate(MB1TMR_ISR, (pISRHandler)MBUS1TmrT35Expired);
OSISRCreate(MB1RX_ISR, (pISRHandler)MBUS1PutRxBuffer);
#endif
#if (MBUS2_EN > 0)
OSISRCreate(MB2TMR_ISR, (pISRHandler)MBUS2TmrT35Expired);
OSISRCreate(MB2RX_ISR, (pISRHandler)MBUS2PutRxBuffer);
#endif
#if (MBUS1_EN > 0)
OSTaskCreate(SRU1ExecTask, SRU1_EXEC_TASK_ID, 2);
#endif
#if (MBUS2_EN > 0)
OSTaskCreate(SRU2ExecTask, SRU2_EXEC_TASK_ID, 3);
#endif
OSTaskCreate(GUIExecTask, GUI_EXEC_TASK_ID, 6);
//中断允许
OS_EXIT_CRITICAL(cpu_sr);
//运行
OSSched();
}