1个系统节拍 c语言_自己写的非抢占式嵌入式操作系统ATOS,全c语言,移植太......
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();
}
總結
以上是生活随笔為你收集整理的1个系统节拍 c语言_自己写的非抢占式嵌入式操作系统ATOS,全c语言,移植太......的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle19c 安装权限_oracl
- 下一篇: python数据库密码如何加密_MySQ