一个基于消息循环的51操作系统,这个有点象VC的风格,大家看McuSystem.rar

看,这个不错的。

ReadMe.txt

默认路径:
D:\MCU51\

Version:MS1.01-2003.7.17

修改:增加ASCII.C的一个ASCI码(7F),用于虚拟按键用

Version:MS1.10-2003.9.14

更改系统结构,便于打包

Version:MS1.11-2003.9.15

统一标准风格。

Version:MS1.21-2003.9.29

修改UART串口的命令解析程序,修改RTC的pcf8563中断部分。

Version:MS1.22-2003.10.4

精简IIC和smart_timer代码,添加define.h的宏定义。

Version:MS1.23-2003.10.7

修改system.c里的消息堆栈的宏定义

Version:MS1.24-2003.11.5

增加ii.c函数,支持对eeprom的打包

Version:MS1.25-2004.3.7
增加由PLD或者GPIO输出的模拟UART,在6个CLOCK下速度为57.6K

Version:MS1.26-2004.12.13
增加消息的优先级功能,消息类型的前4位为消息的优先级,后4位为消息的类型

说明文档

1: 中断响应问题,当在中断关闭时有一个中断过来,则系统会将它保存在中断
标记位上,当中断开启时才开始执行这个保存在标记位上的中断,所以中断
系统只能保持一个中断, EA跟各个独立的中断控制位在这个问题上的功能
是一样的.例子程序为:
EA=0; //Time=0
ES=0;
have Uart interrupt //Time=1;
don’t execute Uart interrupt;
EA=1; //Time=2;
ES=1;
execute Uart interrupt; //Time=3;

2: 串行口的函数调用问题.在用printf函数时,TI必须为1,但本系统为了能用中断
接收Uart,ES=1,这样必然会跟TI=1产生冲突,也就是不停的中断响应,所以要用
printf函数,必须得TI=1,ES=0才行.

3: pdata 似乎不能用于外部声明的变量,data和xdata可以,这个有待于进一步验证

4: 串口通讯问题: 开机时UART会接收到一个不定的数据,这个主要是uart_init引
起的,要先TI=0,RI=0后REN=1,这个有待进一步的考证.

本人说明:
本人在中科院半导体所工作半年,在手机设计公司工作两年至今,以前是软件公司师,
现在为硬件工程师,主要的工作都在底层的硬件设计及手机的多媒体应用。两年前在
从周立功公司购买了DP51单片机开发板,感觉这个板子挺不错的,并且结合自己在这
个行业的实际情况,基于DP51编写了这套软件。之后用这套软件为公司,也为很多朋
友做了一些项目,包括指纹门禁系统,激光器测试系统,激光器老化系统,,轮胎生
产自动化控制系统。在这些开发过程中,同时教会了他们怎样使用这套系统,一般的
讲,具有一些C语言基础的,只要1,2天就可以直接上手使用,之后他们自己可以直
接调试。
很多朋友都感到这套系统简单易学,性能不错,尤其是它舍弃了对于单片机51来讲是
华而不实的RTOS,而又不是采用一般大家平常的大循环设计,并且他引入了手机设计中非
常重要的平台的概念(DP51为其硬件平台),系统的内核类似于RTOS,内部又有消息
机制,特别灵活,并且支持消息的优先级。
他们希望我把他推广,今天本人做了一些修改后把他介绍给大家。

McuSystem介绍:
现在这段时间RTOS非常热,可很多人往往为了用RTOS而用RTOS,其实很多很多的项目
一般的设计都已经可以了的,RTOS显得有些画蛇添足。对于一般的设计思路,往往要
做很多的工作,甚至整个软件的结构不知道怎么搭建,McuSystem主要就是解决以上的
问题提出的,真正为实用服务的一个系统,它全部用C语言编写,结构非常清晰,核心
是它的消息机制,解决很多普通设计中的一些问题,包括并发事件问题。并且这个消息
还支持优先级。我相信只要具有一般C语言水平的都能很快的看懂。
系统用Source Insight做编辑,keil为编译,DPFLASH下载,这个成了标准配置,目录
建在D:\MCU51\。这个程序是让大家去修改,以适合自己的平台用。
现在简单的说一下文件的构成:boot.c是入口程序,define.h是一些宏定义,system.c
是系统内核,包括节拍,消息都在这个里面,routine.c为例行程序,如键盘,数码管
显示都在这个里面控制,键盘是采用扫描的。

McuSystem面向对象:
中等规模的系统,代码一般在2,30K,
初学单片机并且想更上一层楼的,或者有些基础,想减少工作量的。

作者:王绍伟。
2004/12/14

资料下载:

https://download.csdn.net/download/wowocpp/10741545

《单片机应用系统开发实例导航》一书源代码

MSV3.20

基于周立功的DP51开发板编写的,很多初学朋友觉得还不错,现在在网上发表了他的第三版本,MS3,这个版本在消息机制上有改进,采用16位结构,适合一些采集系统,同时采用循环消息队列,软件定时器上有了比较大的改进,采用回调函数形式,并且支持中断内回调和中断外回调,这样可以实现伪任务的概念。第三个改进是去掉了很多具体的应用,留下一个内核可以适用于一个最小系统,具体应用请各位自己扩充,本人自己建了一些库,要应用的时候直接加上就可以了,第四个改进是应用了比较多的函数指针,这个可能对一般的单片机开发人员有点难度,但应用更加灵活了。
本程序可以直接在keil的debug模式下执行,适合对单片机有一定理解的朋友。不足之处请多多指出
/***************************************/
最新MSV3.20版本,增加了GUI部分,利用一个函数指针变量代替复杂的状态机,每个菜单只有一个显示函数和一个处理函数即可,附件为最新版本,可以直接下载,建议用SourceInsight看

给51 DIY超轻量级多任务操作系统

https://www.amobbs.com/thread-1398508-1-1.html?_dsign=e39a9436

基于Easy51RTOS的数据采集系统,采集温度之后在数码管上显示。(Data acquisition system based on Easy51RTOS)

MS2

SourceInsight3.0是一个编辑环境,用它看程序特别方便。

MS2是以前McuSystem的升级版本,McuSystem在21ic上能够下载到,名字叫做“实用单片机系统”。

MS2是一个通用的51单片机开发平台,里面特别加强了四路定时器,在局部上可以实现简单的RTOS的任务管理,增加了宏定义的使用,出错跟踪打印(TRACE)机制。

所以综合的说,这个版本很适合大家从普通的前后台编程机制过渡到RTOS的编程直接,同时让大家熟悉TRACE的应用,宏定义的应用,定时器的应用(这套定时器系统是作者从手机软件中移植过来的,特别有效)。

[STM32F1] 基于STM32的嵌入式微系统msOS成型记(连载)

http://bbs.21ic.com/icview-1637260-1-1.html

msPLC/msOS 学习QQ群:291235815,2000人群,现在超过1850人,马上满群。

一、何为嵌入式微系统
嵌入式微系统,顾名思义就是嵌入式微型操作系统,然而操作系统一词在嵌入式行业里往往专指uC/OS之类的带任务切换的系统,所以为了有别于这个专用名词,往往用开发平台一词来代替,所以嵌入式微系统更准确的名字为嵌入式微型开发平台。
大家肯定会问,uC/OS这样的嵌入式操作系统跟嵌入式微系统到底有什么区别,那么我们就要从项目需求开始说起。
某个公司需要在嵌入式芯片(MCU51或者STM32)上开发一个控制项目,涉及LCD界面、多种不同接口速度的外设、多种不同速度的业务逻辑控制,下图为常见的一种工业自动化项目需求。

支持老大,我是看着老大的书 农民讲习所 等等老大的书走到现在的

12年开始接触到MS3,那里下到的忘了。当时移植到Atmega8,Atmega16分别做了几个项目。哈哈当时正是对代码模块化有个概念,想搞个框架(写代码的到一定阶段都有这想法),就把MS3移植过来各种改,折腾。当时也没版权概念,现在给凤舞天正名,给凤大赞一个。后来在工作中也把MS3的架构发展到STM8,现在是STM32(一直用群言主的无OS版,对软定时器做了修改,用起来更灵活。这个软定时器很赞,100分)。到STM32后有了设备的概念,现在都是把传感器,功能做成设备模块,保存一个基本框架,要用时复制出来加设备模块,整个项目很快建立,只要初始一下”设备”就能跑起来。曾经也把SMT32版的推荐给朋友用,只是他经验不足,跟他讲起来很累,让他慢慢看视频去,哈哈

早期的“实用单片机系统McuSystem”,可以说总结了MCU51的编写方式,第一批提出了在MCU51下如何编程的通用架构,自从发布以后,经常看到21ic的一些牛人发布的文章代码,或多或少受到McuSystem的影响。而现在的msOS,更是在McuSystem基础上,把硬件平台扩展到ARM上,引入了C#编程风格,uC/OS-II,更系统的总结了嵌入式编程模式,填补国内嵌入式开发在架构这方面的空白。
msOS,是基于架构的模式化编程思想,不再是大家通常熟悉的模块化编程思想了。

21ic 上面的 网友: lldwsw 很厉害

厉害

http://bbs.21ic.com/icview-589396-1-1.html

嵌入式微系统(msOS)是王绍伟先生(网名:凤舞天,标识:wangsw,21ic代号lldwsw)基于早期开发的“实用单片机系统,标识MS”,经过多年的MTK手机开发经验,结合自己具体的项目应用,整合uC/OS,编程风格向C#靠拢,面向高可靠、高质量、可复用、标准化、开发、维护简单的行业,如工业控制自动化、嵌入式设备、仪器仪表等。

msOS主要为了配合msPLC嵌入式PLC项目而开发,以作者前年开发的大功率6000W、1MHz高频感应加热设备为具体设计对象设计,例子也是以它为参考设计。

作者介绍:
凤舞天,原名:王绍伟,标识:wangsw
1997年—2001年毕业于兰州大学电信专业。在大学期间担任电子协会会长,为学校同学维修随身听、收音机等电子设备,奠定焊接、维修和做事一看、二想、三做、四检测的基础。
2001年进入中科院半导体所光电中心工作。
2002年—2003年基于MCU51开发了实用单片机系统(MS)并开源推广,获得广大嵌入式初学者的好评。
2004年创业做逆变器,虽然失败,但是从技术上、物料采购上、生产上积累了宝贵的经验。
2005年再次创业,但是由于对市场不了解和对产品定位不明确,最终导致失败。
2006年—2009年在深圳市华禹高科技有限公司工作,引入了MTK方案,开始手机开发。
2008年发明了“电阻电容电感样品本”,解决广大电子爱好者基础元器件的采购、调试、存放问题。
2009年创立了华禹工控科技有限公司,推出了P1300手机开发模块及相关手持POS产品。
2011年与东莞市俊知机械有限公司合作,研发大功率(6KW)超高频(1MHz)感应加热焊接机。并于2012年,全面投入生产,同时获得工业自动化经验。
2013年开始研发msPLC,针对工业自动化行业开源设计嵌入式PLC。

msOS设计过程介绍:
msOS主要是为了msPLC设计开发的一套嵌入式微系统,面向嵌入式人员,是作者以前“实用单片机系统MS”的升级版本。在MS开源推广过程中,获得广大嵌入式群体的认可并大量使用,认为简单、易用,比较接地气。而简单易用接地气是作者的一贯风格,但随着项目的深入开发发现,基于前后台系统的MS,在开发大一些的中型项目,存在一些不足,提供的资源不够,分层不清晰,阻碍了项目的快速开发,并且产品的可靠性、可维护性也大大降低,这些都促使作者需要对MS系统进行进一步的升级,适合中型项目。
msOS相比MS,主要引入了以下功能特征:
1、全面引入C#标准开发风格,这样以C#编程风格为依托,采用长命名设计风格,便于软件编程风格长期的维护与统一,还能够提高英语用词的准确性,并且C#与JAVA风格类似,代表当前最先进的编程风格,这样学习了msOS,等于把上位机编程的基础也学会了,而具备C#、JAVA基础的,则比较容易接受msOS。
2、引入了RTOS,把业务逻辑与GUI界面设计分开,实现清晰的程序设计思路,RTOS的优先级提高了系统响应速度,目前参考uC/OS,彻底的精简,只保留了实际有效的部分,同时把容易引起混乱的宏定义尽可能的去掉,支持最多8个任务(实际不建议超过4个),只要做稍微的修改,就可以避开版权问题,当然也可以用其他第三方RTOS。
3、采用两个大的结构体:System和App,实现了类似C#的系统库与应用的完美分离,同时彻底解决了全局变量混乱问题。
4、引入GUI库,采用面向对象及链表方式设计方式如Form、Label及TextBox等控件,让图形界面设计非常简单而让设计者只关心业务逻辑设计。
5、完全按照CMSIS推荐的分层设计,便于维护程序。
6、保留MS系统的消息机制、软件定时器,实现完美升级。
7、MCU基于STM32F103最常用Cortex-M3开发。

在msOS整个开发过程中,华禹工控的各位软件负责人提供了大量宝贵的经验,分别是郑德智、皮云仙、苏鹏、田飞峰及侯德平,他们各自擅长MTK手机平台、Linux、JAVA、C#及嵌入式,他们把他们认为精华的部分重点向我阐述,比如GUI面向对象的设计,结构化编程,程序的分层,在我向他们描述我想要的软件需求的时候提供咨询,尤其是苏鹏深入分析msOS架构,提出了不少宝贵的建议。此外华禹手持PDA交流群(群号15762255)的众多技术高手,提出了自己的一些意见和看法,在msOS开发的过程中一直给予强大的声援,尤其是山东-行千里路、深圳-智能家电、中山-阿雄,msPLC DEMO发布的第一时间来购买支持msOS开发,在群内相互交流。

msOS里面涉及太多的指针、结构体、面向对象、OS、链表、分层等概念,不适合初学者,而是面向有工作经验的嵌入式群体,初学者建议从msOS-Mcu51(MS3)开始开始入手学习。

感谢大家的支持,欢迎网络交流,发现Bug请联系作者QQ:26033613,或加入msPLC/msOS开发群:291235815

msOS文档,从嵌入式软件架构入手讲解,这样对初学者来说,可以避开繁琐的语法和寄存器问题,达到自然而然的学习,目前主要讲解了MS部分,长期更新
msOS_Doc_V0.11_20150706.part2.rar (2.22 MB, 下载次数: 128) msOS_Doc_V0.11_20150706.part1.rar (3 MB, 下载次数: 134)
原实用单片机系统MS3.21的升级版本MS,编码风格上按C#设计,跟msOS兼容,并且进一步完善了代码质量,请各位今后用这个MS版本。
MS_V0.10.rar (111.15 KB, 下载次数: 438)

msOS版本,支持双任务RTOS及GUI
msOS_V0.11_20150711.rar (588.26 KB, 下载次数: 930)
以上两个下载文件会及时更新最新版本,使用的时候,看看是否有最新版本,文件名最后的是日期。

目前开始写文档,主要从嵌入式发展的历史、需求、市场角度描写,而不是单纯从技术角度描写,把本人长期企业经营中接触到的认识写入其中,让技术人员不仅仅懂技术,还懂需求、产品定义、市场的复合型人才。

//********************************************************************************************************
很多新入群的网友,都在问一个问题,msOS跟uC/OS有什么区别,觉得有uC/OS就已经足够了啊,为什么还要msOS

呢?其实大家都忘了一件事情,当嵌入式人员熟悉嵌入式之后,往往有一个来自内心的呼唤:“我要搭建属于自己的平

台系统,为将来开发产品定下统一的框架”,但往往因为工作的紧张、生活的压力,最后都没有腾出时间来实现自己当

初的想法。今天群内“破浪前行”再一次的提到,让我想起当年写“实用单片机系统”的时候,记录里面就有类似这样

的话,本书前言里面也有这样的话,只是随着msOS的发展而遗忘了。这是最原始的内心需求,msOS存在最好的理由:

Myself OS。
我们需要的是一个开发平台,并不是RTOS,我们之所以把RTOS当作我们的需求,是因为之前嵌入式行业还没有一

个真正的为中小嵌入式行业提供通用的开发平台,大家只有借助RTOS建立自己的开发平台,花大量精力学会RTOS,之后

再在这个RTOS上添加按键、串口、屏幕、等必要的设备,通过消息、信号量等整合成为一个为自己所用的开发平台。

这么做,对于一个高手,没什么问题,但对于绝大部分只有一定基础的嵌入式群体来说,这么一个复杂的平台是

搭建不好的,甚至可以说能否把复杂的uC/OS用好都值得怀疑,还谈什么平台,谈什么可靠性,最后往往与初衷相悖而

失败。此外,就算是自己把平台建起来了,一个公司十个人,十个平台,大家代码如何统一又是一个大问题。

msOS是我内心的呼唤,也是我实际的需求,经过与公司内多位具有大型软件经验的同事思维碰撞之后,借助当前

比较领先的一些理念,尤其是C#中一些理念引入到嵌入式中建立初步模型,再在QQ群中与大家一起讨论修改而成现在这

个版本,可以说msOS是我们大家的嵌入式开发平台,它来源于大家,服务于大家。

精简uCOS及基于MS5的uCOS发布

http://bbs.21ic.com/icview-40316-1-1.html

本人2004年在21ic上发表了“实用单片机系统”,也叫McuSystem,基于周立功的DP51开发板编写的,很多初学朋友觉得还不错,现在在网上发表了他的第三版本,MS3,这个版本在消息机制上有改进,采用16位结构,适合一些采集系统,同时采用循环消息队列,软件定时器上有了比较大的改进,采用回调函数形式,并且支持中断内回调和中断外回调,这样可以实现伪任务的概念。第三个改进是去掉了很多具体的应用,留下一个内核可以适用于一个最小系统,具体应用请各位自己扩充,本人自己建了一些库,要应用的时候直接加上就可以了,第四个改进是应用了比较多的函数指针,这个可能对一般的单片机开发人员有点难度,但应用更加灵活了。

本程序可以直接在keil的debug模式下执行,适合对单片机有一定理解的朋友。
不足之处请多多指出
地址21ic的FTP:
File.21ic.comMCU实用单片机系统第三版(带SI).rar

内附SourceInsight3.5,一个非常好的C语言编辑器,内带程序注析自动生成实用说明,这个非常可以自动生成函数,文件头的注析。MS1,MS2:MS2比较简单,适合入门,MS1可以了解历史

基于NXP的LPC13XX开发的MS4,评估板是基于MCU123,按键为GPIO0.0和GPIO0.6,BUZZ为GPIO2.8,MS4基于MS3平台开发,结合多家评估板的程序而成。因此版本刚发布,可能存在一些bug,请大家指出。

基于STM32F103的实用单片机系统,为了避免与NXP版本搞混淆,特意用MS5,现在发布测试版本,欢迎使用并报告bug,QQ:26033613

MS5说明:
MS5基于STM32F103设计开发,可以在Keil下软件仿真调试,不需要实物硬件板子,UART1作为人机窗口。硬件测试是基于正点原子的miniSTM32F103RBT6板子测试,资料是开源的。MS5主要基于MS4(基于NXP Cortex M3)升级而来,因为在2011年基于MS4做了6KW高频焊接机,增加了界面部分,采用函数指针加消息机制,感觉比较简单而有效,性能比较不错,尤其是针对工业产品,系统节拍分时设计有进一步的体会,把这两点融入到MS5中,同时修改了串口UART发送系统等待问题,先把串口数据放到一个buff中,系统节拍去检测buff,当有数据时,每个节拍发送一个,这样就避免了以前发送的时候,需要很长的等待问题。
升级为MS5的根本目的作者是为了设计一款仿西门子S7系列的分布式PLC,应用在自己公司的自动化控制领域及工业电源设备上。同时考虑到今后这个PLC系统需要推向市场,所以选择了STM32这颗比较通用的芯片来设计。作者把这个PLC系统叫做msPLC,初级版本开源设计,包括软硬件。今后关于PLC的一些开发,都会在MS5中得以体现,也希望MS5发展成为针对工业控制领域的系统平台。
读者需要明确的是,MS5是一个系统平台,它不是一个RTOS,它是一个为了简单、可靠、看得懂代码,容易上手,缩短开发周期而构建的平台。MS5是一个前后台系统,作者也曾多次想上RTOS之类的,但对于工业产品深入分析后,发现绝大部分是没必要的,并且引入了自己不了解,代码把握不了的RTOS,一旦出现问题无法解决。所以就退回到了MS系统上来,尤其发现工业设备,采样速度是要求较高的,但执行可以慢一些,这样可以把中断作为紧急不可延时高速采样,系统节拍设定为万分之一秒用于AD,IO常规采样,节拍分频后获得百分之一秒用于按键、数码管,分频为十分之一秒用于数据显示刷新,分频为一秒用于RTC时钟。中断获取的数据,可以在万分之一的节拍中处理,也可以在更低速的地方处理,更可以在main主程序中处理。这就是所谓的,高速采样,低速处理,系统可以设计的非常有条理。
//
MS5.00 bug报告:感谢kingpoo发现MS5中的临界态处理不够严谨,退回到采用MS4中的临界态处理方法,并提出参数应该放在一个固定的头文件里,采纳建议,现已改进。
/
/
基于MS5与uCOSII的msOS发布
对很多只具有MCU51,Cortex基础的网友来说,学习RTOS是一件痛苦的事情,以uCOS为例,博主以前看过2遍,虽然有些概念,但因为涉及内容较多,理解不深,加上没做项目,过段时间就忘记了。这次为了做msPLC系统:一种网络化PLC,需要解决网络通讯,特意引入RTOS实现任务分离,所以把目前资料最为广泛的uCOS与博主自己设计的“实用单片机系统MS5”结合起来,uCOS具备RTOS的多任务,并且资料丰富,MS5博主自己开发的,最为熟悉,并且在单任务下代码简洁,功能齐全,尤其是对时间分割管理、消息机制、界面设计上,都有一定的模式,所以可以理解为基于MS5下,把单任务变成多任务处理,比较完美的结合。

uCOS可以认为是比较标准的一种RTOS,就RTOS来说,它不算复杂,但对于绝大部分只有单任务设计经验的嵌入式人员,已经足够复杂,主要有几点原因:

1、刚接触RTOS思想,对很多名词,功能、变量都不熟悉,这些一多就混淆了
2、文件结构、头文件定义复杂,条件编译、函数指针、结构体过多
3、外围函数过多,任务核心不突出

基于以上三点,本人以普通嵌入式人员的思维,做以下几点精简:

1、去掉一般项目不常用的函数,比如信号量事件(SEM)、开关量事件(MUX)、标记事件(FLAG)、内存管理(MEM),只保留消息邮箱(MBox)和消息队列(MQ)。
2、精简头文件,按常规写法修改,去掉不必要的条件编译
3、去掉统计任务(StatTask)和空闲任务(IdleTask),系统内部精简掉相关的变量,加入MS5,作为它的IdleTask,设置为最低优先级。
4、加入MBox和MQ例子,让其可以在Keil的Debug的UART1窗口下直接调试模拟。

初学者基于精简版本的uCOS,对照书本,学起来应该更容易,起码不会有强烈的排斥心里,在理解了uCOS内核后,再看完整的源码,就非常容易。

msOS今后将基于MS5为基础,引入其他免费公开的RTOS的一些优点,比如FreeRTOS和RT-Thread,形成自己的风格,避免版权,主要超工业自动化方向进化,专注于工业自动化领域。

精简的uCOS

基于MS5的uCOS

http://file.21ic.com/MCU/实用单片机系统第三版(带SI).rar

本人对这个软件的分析
1)消息机制,这个是现在程序的趋势,它可以把一个项目分成好几个部分,相对独立,程序的可读性加强,我们这边特别强调程序的可读性,因为可读性加强了,后续的维护,开发的成本都会降低。
2)现在一个项目的费用,硬件只占1/3,软件却占2/3,甚至更多,他提供了一个平台,搭好了一个框架,给了后来者一个思路,也就是往上添东西就行了,降低了开发时间。
3)这个架构在很多人使用后,证明是稳定的,这是一种积累,那么测试费用降低很多,因为他是可靠的,只需要测试自己的那部分就可以了。若你每做一个项目都起一套体系,那么测试就是这一次,到了下一次你自己都不敢说是安全的。
4)最后我们采用了平台的概念,采用减法,以前很多人都把做过的东西做成一个个函数,或者库之类的,可是时间长了,把一些条件忘了,结果各个函数连接起来,问题一大堆。因为函数之间的衔接是最难做的,并且每次都从头开始写,成本很高。消息机制就是把各个函数连接起来,把他做为一个整体,这样就是一个具体的东西,不会忘记和丢弃。
以上都是昨夜跟21ic上一个朋友聊的内容,也是写这个软件的意图。同时觉得比较有亮点的是软件定时器部分,这个本人觉得比较好。

雨滴科技论坛

http://bbs.raindi.net/forum.php?mod=viewthread&tid=4

基于MCU和嵌入式操作系统的交通信号灯控制系统

何立民.单片机高级教程[M].北京:北京航空航天大学出版社,2000.
晨风.嵌入式实时多任务软件开发基础[M].北京:清华大学出版社,2004

记号一下,之前看过农民讲习所的通用程序例子不知道是否相似。谢谢楼主!

农民讲习所的文章“建立通用MCU程序

已经绝版了,找不到了.

不过其实这个实用价值不大了,cortex M3的出现,让UCOS之类有了有武之地,比这个好.

如果要学所长的编程思想可以找C51BBS上以前的老帖,经典的是那个关于两个按键的帖子.

51 rtos系统 : MCUsystem 介绍 -- 基于消息队列相关推荐

  1. activiti异步执行_对基于消息队列的Activiti异步执行器进行基准测试

    activiti异步执行 一点历史 永无休止的一件事是,Activiti在某些非常大的规模的大型组织中的使用方式. 过去,这导致了各种优化和重构,其中包括异步执行器-替换旧的作业执行器. 对于未启动的 ...

  2. 对基于消息队列的Activiti异步执行器进行基准测试

    一点历史 永不停息​​的一件事是,Activiti如何以惊人的规模在一些大型组织中使用. 过去,这导致了各种优化和重构,其中包括异步执行器-替换旧的作业执行器. 对于未启动的用户:这些执行器在流程实例 ...

  3. 基于消息队列 RocketMQ 的大型分布式应用上云较佳实践

    作者|绍舒 审核&校对:岁月.佳佳 编辑&排版:雯燕 前言 消息队列是分布式互联网架构的重要基础设施,在以下场景都有着重要的应用: 应用解耦 削峰填谷 异步通知 分布式事务 大数据处理 ...

  4. 基于消息队列 RocketMQ 的大型分布式应用上云最佳实践

    简介:Apache RocketMQ 作为阿里巴巴开源的支撑万亿级数据洪峰的分布式消息中间件,在众多行业广泛应用.在选型过程中,开发者一定会关注开源版与商业版的业务价值对比. 那么,今天就围绕着商业版 ...

  5. 基于消息队列 RocketMQ 的大型分布式应用上云实践

    简介: Apache RocketMQ 作为阿里巴巴开源的支撑万亿级数据洪峰的分布式消息中间件,在众多行业广泛应用.在选型过程中,开发者一定会关注开源版与商业版的业务价值对比. 那么,今天就围绕着商业 ...

  6. 几种常见的微服务架构方案简述——ZeroC IceGrid、Spring Cloud、基于消息队列

    微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果.虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合 ...

  7. 基于消息队列的分布式事务解决方案

    前两天发了工资,第一反应是想着要给远方的女朋友一点惊喜!于是打开了平安银行的APP给女朋友转点钱!填写上对方招商银行卡的卡号.开户名,一键转账!搞定!在我点击的那瞬间,就收到了app的账户变动的提醒, ...

  8. java抢单功能_基于消息队列的高并发抢单功能实现方法与流程

    本发明涉及嵌入式软件中间件,具体涉及一种基于消息队列的高并发抢单功能实现方法. 背景技术: 中间件是一种独立的系统软件或服务程序,分布式应用系统借助这种软件在不同的技术之间共享资源,管理计算资源和网络 ...

  9. 【高并发】为何高并发系统中都要使用消息队列?这次彻底懂了!

    来自:冰河技术 写在前面 很多高并发系统中都会使用到消息队列中间件,那么,问题来了,为什么在高并发系统中都会使用到消息队列中间件呢?立志成为资深架构师的你思考过这个问题吗? 本文集结了众多技术大牛的编 ...

最新文章

  1. Qt智能指针--QWeakPointer
  2. VS2008 AJAX控件介绍
  3. leetcode 1239. 串联字符串的最大长度
  4. 创意产品 分析_使用联合分析来发展创意
  5. 怎样写出别人无法维护的代码
  6. asp.net试题(三)
  7. 宁波大学计算机网络实验五,宁波大学计算机网络实验答案
  8. php json_encode options,json_encode($json,$option) 对变量进行 JSON 编码说明
  9. dmv io读写高的sql_适用于DBA的前8大新(或增强)SQL Server 2017 DMV和DMF
  10. idea中编辑*.vue文件没有任何提示
  11. TCP三次握手与四次挥手的过程及原因
  12. NYOJ 81:炮兵阵地(状压DP)
  13. CentOS6.5恢复误删除的文件
  14. Opengl es2.0 学习笔记(十)VBO、IBO和FBO
  15. TwinCAT 3 xml存储配置文件程序
  16. 筑业单机版建材管理软件
  17. CBR,VBR,ABR介绍
  18. 三元一次方程组步骤_怎样解三元一次方程组 50道三元一次方程组计算题及答案过程...
  19. 抖音作品别人保存不了,这个方法可快速将抖音短视频下载到本地
  20. “人生苦短,我用Python“——身份认证攻击

热门文章

  1. sql查找最晚一天或者日期最大的一条或N条记录
  2. redis数据库启动
  3. [人工智能-深度学习-40]:英伟达GPU CUDA 编程框架简介
  4. 广州python培训机构排名
  5. 梯度计算公式-函数实现组件
  6. 前言中不允许有内容 问题解决
  7. 怎么免费批量将JPG转WEPB
  8. 梦想——要勇于追求,安逸——只能让你迷失
  9. APIO20152014题解
  10. SQL Server 2017下载,安装,打开步骤