前不久在用51单片机做一个东西,用到了GPS模块、GSM模块、电子罗盘模块、DS1302计时、LCD1602循环显示时间和当前磁方位角信息,单片机程序就写了几个周,虽然磕磕碰碰,但最后还是能够勉强靠一个while(1)大循环和无数子函数搞定了,但是也深切地感觉到单片机在面对一个较大工程时“裸奔”的无奈,尤其是面对多个需要同时执行的任务。
对于我而言,“操作系统”一直以来都感觉是一种可望而不可及,而且尤其的偏向于软件的那么一种东西,而我励志是成为一名硬件工程师,这段时间自学单片机以来,天天就写程序、看代码,越发感觉到自己“偏科”了,电路没时间设计了,DXP怎么用也怕都给忘了,很多电子元件的特性啥的也快忘差不多了,我这是要练成太极了吗?
但是单片机确实是一种好东西,我觉得它能够释放硬件电路的潜能。
曾经见到过网上一个哥们用晶振+非门振荡电路、D触发器分频、计数器芯片、7段数码管解码芯片和数码管做了一个简单的时钟。后来我们学了数电,掌握了一些知识后,我也用proteus仿真了一个,电路异常的麻烦。但是出来的功能单一到了极点,增加任何一个功能都会消耗极大的心力、物力和财力。想到这里,我就能够体会当时设计处理器的工程师们的初衷。
单片机作为微型处理器发展的一条朝着多功能走的路线,在今天吸引了一大票爱好者来学习使用它,我觉得一点是它便宜,二是它有用。
好吧,扯远了。。。。言归正传!
面对一开始说到的问题,我迫切想知道面对这种情况其他工程师或者爱好者是如何解决的? 于是我问了度娘,度娘说的话让我茫然了-----操作系统(OS)。
Windows XP吗?Linux吗?android吗?我慌了!最近写单片机程序给我的感触就是以后少跟代码打交道啊。。。。这不是火坑嘛!
最后看到一个似曾相识的名字---uCOS II。话说这是所有学嵌入式的一个必经之路。看了很多网友在网上的言论。
于是毅然决然地告诉自己:就是它了!
然后就是几天苦苦看网上下来的PPT、WORD、PDF。
最终决定从我最熟悉的51单片机开始来学习uCOS II的原理!
现在开帖!希望大家对uCOS有了解或者有兴趣的朋友一起来学习和讨论如何给单片机这个小东西“注入灵魂”?
首先分享一些网络下载的很好的资料:文字版_嵌入式实时操作系统uCOS-II_邵贝贝.pdf
以下是一个经过我测试,能够在STC增强型51单片机上运行的uCOS II移植程序: