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语言,移植太......相关推荐
- 【项目介绍】协程——C语言实现的用户态非抢占式轻量级线程
文章目录 项目介绍 开发语言 开发环境 项目简介 项目特点 适用场景 发布链接 使用介绍 上下文环境 宏 协程状态 协程与调度器结构体 接口 示范用例 使用协程实现一个TCP服务器 项目介绍 开发语言 ...
- 某系统采用基于优先权的非抢占式进程调度策略,完成一次进程调度和进程切换的系统时间开销为 1μs。
某系统采用基于优先权的非抢占式进程调度策略,完成一次进程调度和进程切换的系统时间开销为 1μs.在 T 时刻就绪队列中有 3 个进程 P1.P2 和 P3,其在就绪队列中的等待时间.需要的 CPU 时 ...
- 编程入门python java和c语言_学习编程适不适合从Python入门?哪种语言更适合入门?...
本文对比了C语言和Python语言,分析它们作为编程入门语言各自的利弊,并给出了我推荐的编程学习道路. 我本身已经入门了Python脚本语言,在进阶C语言和JAVA语言后,Python重学就轻松很多, ...
- 二元置信椭圆r语言_一般加性模型的简介、应用举例及R语言操作
一般加性模型的简介.应用及R语言操作举例前文在"平滑回归举例"中,提到当未知自变量和响应变量间的关系,难以选择合适的参数模型描述二者间的响应状态,或者期望探索二者可能的响应曲线形式 ...
- 嵌入式操作系统_航天科工海鹰翼辉嵌入式操作系统获自主原创“身份证”
日前,由中国航天科工集团三院三部研发的海鹰翼辉嵌入式操作系统顺利通过中国信息安全评测中心的自主原创评测,成为国内首个具有自主原创"身份证"的嵌入式操作系统. 随着物联网和人工智能技 ...
- 0pp0r11如何更改语言_如何写才能避免重复率过高呢?
对于很多大学生而言毕业论文的写作都是非常艰难的一关,很多同学都不知道该如何去写论文,也不了解论文查重是怎么弄的,所以很多写完论文后依然不能合格的,主要就是论文重复率不符合要求.毕业论文该如何写才能避免 ...
- [AsciiDoc]_[项目管理]_[适合写书写需求文档的纯文本轻量级标记语言]
场景 markdown适合写短篇文章,但是不适合写书,需求文档这类复杂多页的文档.有什么文本格式适合写需求文档呢?并且能生成PDF或者docx格式方便阅读? 说明 在阅读gradle的userguid ...
- 如何写一个脚本语言_如何写一个Nx schematic plugin?
前言 玩过Angular的同学都知道Angular作为一个Framework,拥有一套完备的生态,还集成了强大的CLI.而React则仅仅是一个轻量级的Library,官方社区只定义了一套组件的周期规 ...
- 插入排序c语言_玩扑克牌中插扑克牌手法就是不一样,C语言经典算法之插入排序...
插入排序 插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂.当然,如果你说你打扑克牌摸牌的时候从来不按牌的大小整理牌,那估 ...
最新文章
- Windows与Linux之间互传文件的方法
- stm32f4 RAM中运行程序 读保护设置
- 什么是硬件设计?——成功的硬件设计需要什么?
- VS code常用的快捷键
- 无障碍使用,Windows 10 辅助功能大更新
- Educational Round 26 C. Two Seals
- DB2数据库迁移,数据库导入导出
- scratch课程案例——漫天飞雪
- 输出UTC时间和北京时间
- Tree Walk(二叉树的遍历)
- 空间相关性(1)——莫兰散点图
- 裸辞后破釜沉舟三个月,拿到SSP!
- win10桌面的计算机图标怎么删除,win10系统桌面图标小箭头去掉的操作步骤
- 2022-2028年中国手机银行行业市场竞争态势及未来前景分析报告
- js 计算两个时间的之间的天数
- Excel学习笔记:P27-我的表格有重复内容该怎么办?简单三招让它们现出原形
- JSP环境的搭建及程序初步
- java.lang.ArrayStoreException
- mysql结算订单表到用户_Luffy之结算订单页面(订单模型表的创建,订单的生成,以及订单详情展示等)...
- 移动电源/便携式汽车应急启动电源UKCA/CE认证
热门文章
- 如何在html中添加选择列表,html – 如何在选择列表中添加图像
- Python集合list,tuple,dict,set
- C语言中流程图的主要作用是,C语言 三大流程控制
- python pip如何安装wheel文件?.whl(pip install [wheel])
- python 如何将数字字符串转换为数字?
- python enumerate()函数
- printf与sprintf
- V-rep对UR3机械臂仿真路径规划
- 哈尔滨工业大学-数据库系统(基本知识与关系模型1)
- php 数组格式的字符串转为数组_php将字符串转换为数组实例讲解