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(&param);

MBUS1Init(param.BaudRate, (CMB1Parity)param.CheckBit);

//        MBUS1Init(9600, (CMB1Parity)MB1_PAR_NONE);

#endif

#if (MBUS2_EN > 0)

//从EEPROM中读取

GetSRU2USARTParam(&param);

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();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值