×

单片机到底有什么作用PDF文件讲解

消耗积分:0 | 格式:pdf | 大小:0.12 MB | 2020-11-25

分享资料个

  1. uC/OS 是个什么鬼?在一些朋友的留言和大神的文章中多次提到了 uC/OS,相信很多朋友看到之后都是蒙 B 的 “这是个什么鬼?”。uC/OS (Micro Control Operation System)翻译过来就是微控制器操作系统,最初版本是在 1992 年发布,现在已经发展到 uC/OS III 了。嗯,那它有什么用呢?接触过单片机或编程的朋友一定知道 main() 函数,mian() 又叫主函数或者入口函数,顾名思义就是程序开始执行的地方(其实这是不严谨的,但是为了照顾小白可以这样简单的理解),而一般的裸机程序只有一个 main(),从程序的开头到结尾跑一次就完了,而为了让程序能不停的跑往往会在 main() 中加一个 while(true) 让其不断的循环。uC/OS 因为其处理方式理论上可以模拟无数个 “main() 函数”(任务),让这些任务并发运行,就像在一个单片机中有多个 main() 函数一样,让原本单线程的单片机能有多线程的效果。那 uC/OS 是变出无限个 main 函数呢,答案就是时钟节拍,时钟节拍就是系统以固定的频率产生中断(时基中断),并在中断中处理与时间相关的事件,推动所有任务向前运行。简单的来说就是高频率的切换任务来实现类似多线程的效果,这个时钟节拍是可调的,频率越快越浪费 cpu,相应的在多个任务间切换的速度也就越快。那么什么是中断呢?从本质上来讲,中断是一种电信号的变化,当设备有某种事件发生时(产生电平变化),它就会产生中断,通过总线把电信号发送给中断控制器。如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚。处理器于是立即停止自己正在做的事,跳到中断处理程序的入口点,进行中断处理。(就好比小明现在正在看我写的这篇文章,突然有快递来敲门他就会先放下手机去取快递然后回来接着看,既拿了快递又读了文章)如上图所示电信号从低电平跳转高电平的中断称之为上升沿中断,反之称之为下降沿中断。因为篇幅的限制以上只是简单的介绍了一下 uC/OS,当然它还有很多其它的优点,例如内存分配,任务消息队列,等等。这些都是这个系统多年迭代累积下来的“车轮”,如果感兴趣的朋友可以深入的了解一下。 uC/OS 固然是好,但是真的有必要什么都用 uC/OS 么?我看未必,杀鸡何用宰牛刀。以下引用一位知友的留言: “2 以前没学过操作系统,用单片机裸机写程序。有一次做一个功能特别复杂的东西,发现中断都快用完了,并且用中断有些地方实现的特别勉强,冗余,复杂。当时根本就不知道有多任务,也以那时的知识根本想不到如何优化。如果当时学过操作系统,用过 ucos,这个问题就很好解决了。不信,你看能不能用裸机实现一个简单的平板电脑。 6 以后想去大公司,做平板,做手机,不会嵌入式 linux 估计不行吧,这个依旧包括了上述所有知识。”(这位朋友表达的意思我懂,在此只是引用这一段话,只是引用!)(此段纯吐槽)可能是现在中国手机行业很赚钱。是个大一点的公司就要做平板,做手机,大公司都需要这样的人才,一窝蜂的往里钻。虽然 arm 理论上也算是单片机的一种,但是我更喜欢将其归入微处理器的行列,做手机做平板要是我肯定不会选 stm32 上 uC/OS 来做。如果是为了好找工作,为了做手机那还是学嵌入式 linux 比较靠谱。我是学自动化的,在我的感觉里单片机(stm32,avr,飞思卡尔,51 等等)这类是属于微控器,最适合的就是用来做控制的,不是为了做手机而生的。和做人一样首先要清楚自己的定位,清楚自己能干什么,不能干什么。汽车芯片,3d 打印机,数控机床,手环,液晶显示器,四轴,录像机,洗衣机,玩具,飞机仪表板等等等等,都有单片机的用武之地,我给它的定位就是简单重复高效的控制器。有朋友留言说 “一句话想赚钱不要学这个。” 我只能引用这样一句话 “中国不是实体经济不行了,而是你的实体经济不行了。

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !