我来说说单片机裸奔的架构

本文探讨了单片机裸奔(不使用操作系统)的原因和方法,强调简单设计原则。作者提出经典的前后台架构,并指出理解定时器是构建良好架构的关键。对于串口发送等耗时功能,若无DMA,裸奔可能难以实现高实时性。作者认为裸奔提供完全掌控感,但集成复杂代码可能影响可靠性。
摘要由CSDN通过智能技术生成

为什么要裸奔?

理由1:裸奔已经可以满足需求了,那么为什么还要OS?

理由2:os很高大上,但是能被hold住么?

以上两点差不多就OK了。

一般说,单片机,就是搞点简单的东西。简单不是贬义,乔布斯总说自己要做最简单易用的作品,所以说我们遵从简单的设计原则,是没有问题的了。

那么如何裸奔呢?

看到21IC网站很多所谓大牛给出了所谓的架构,感觉高大山的架构,在我看来都是差的一塌糊涂,纯属照猫画虎,形式主义罢了。

最经典而完美的架构就是


<

侃侃单片机裸奔程序框架 大家来侃侃单片机裸奔程序的框架呀!以下是我总结的一些东西,不合乎之处来请大家指点呀,本人第二次在21ic发帖,希望大家鼓励鼓励呀!! 从07年参加全国大学生电子设计大赛初次接触单片机开发至今已经有4年了,初学单片机时,都会纠结于其各个模块功能的应用,如串口(232,485)对各种功能IC的控制,电机控制PWM,中断应用,定时器应用,人机界面应用,CAN总线等. 这是一个学习过程中必需的阶段,是基本功。很庆幸,在参加电子设计大赛赛前培训时,MCU周围的控制都训练的很扎实。经过这个阶段后,后来接触不同的MCU就会发现,都大同小异,各有各的优势而已,学任何一种新的MCU都很容易入手包括一些复杂的处理器。而且对MCU的编程控制会提升一个高度概况——就是对各种外围进行控制(如果是对复杂算法的运算就会 用DSP了),而外围与MCU的通信方式一般也就几种时序:IIC,SPI,intel8080,M6800。这样看来MCU周围的编程就是一个很简单的东西了。 然而这只是嵌入式开发中的一点皮毛而已,在接触过多种MCU,接触过复杂设计要求,跑过操作系统等等后,我们在回到单片机的裸机开发时,就不知不觉的就会考虑到整个程序设计的架构问题;一个好的程序架构,是一个有经验的工程师和一个初学者的分水岭。 以下是我对单片机程序框架以及开发中一些常用部分的认识总结: 任何对时间要求苛刻的需求都是我们的敌人,在必要的时候我们只有增加硬件成本来消灭它;比如你要8个数码管来显示,我们在没有相关的硬件支持的时候必须用MCU以动态扫描的方式来使其工作良好;而动态扫描将或多或少的阻止了MCU处理其他的事情。在MCU负担很重的场合,我会选择选用一个类似max8279外围ic来解决这个困扰; 然而庆幸的是,有着许多不是对时间要求苛刻的事情: 例如键盘的扫描,人们敲击键盘的速率是有限的,我们无需实时扫描着键盘,甚至可以每隔几十ms才去扫描一下;然而这个几十ms的间隔,我们的MCU还可以完成许多的事情; 单片机虽然是裸机奔跑,但是往往现实的需要决定了我们必须跑出操作系统的姿态——多任务程序; 比如一个常用的情况有4个任务:
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值