单片机开发设计之"十层功力"

大鱼机器人 2020-03-31 00:00




第一层/我来了


处在这一层的典型是可以用C语言写简单的逻辑控制,如闪烁LED,简单数码管显示,简单外围模块驱动实验。一般对单片机感兴趣,经常动手实践的人,半年左右,可以练到此地步(针对没有接触过单片机的人而言)。


此层最典型的示例就是,扫描按键时候,检测按下--延时20ms--再次检测按下--返回键值或等待释放。如果你是这样做的,或者正在这样做,毫无悬念,应该处于这个级别。对于95%的电类专业学生来说,毕业时候,远远低于这个级别,剩下的5%则依次分布在各层上。这也是为什么学单片机的人成千上万,而会用的人寥寥无几的原因。


第二层/真的打呀


步入这一层的典型标志就是开始思考自己所写的程序是否能够有一点实用价值。譬如应用在实际工程项目中。在这一层,应该开始思考如何让程序结构简单模块化,如何合理的利用CPU的时间。我曾经写过这一层的一点简单教程。对付这一层应该是绰绰有余了。


第三层/时间,说爱你不容易


这一层是建立在第二层的基础上面。从第二层跨越到这一层,需要很多代码行的积累。在这一层,你对系统中的各个模块应该能够很好的区分。同时对于时间的应用安排更加合理。在这一层,同时也应该考虑时间驱动的设计模式。如何让CPU更有效率的利用起来,需要长时间的积累,并非看,想就可以弄明白,而是不断的实践。


第四层/状态,你在哪里


这一层同样建立在第三层基础之上。掌握了以上三层,只要基本不涉及复杂算法的程序,可以组织小规模的程序的编写了。在这个时候,如何有效区分系统中的状态,利用状态来进行迁移,变得尤为重要。有人说通用结构好。反而我认为,针对特定应用来规划更优秀。对于单片机程序而言,几乎没有能够一摸一样的项目。而对于可移植性而言,能够做到函数级别的复用,已经非常难能可贵了。


第五层/时间,还是时间


时间具备精确性、模糊性、可丢失性,这三个特性是从应用时间的不同角度来描述的。精确性应用在精确地定时、计时的场合,它是个强实时的概念,比如测量频率。模糊性应用在需要稳定计时的场合,它追求的是长时间的稳定性,而忽略定时每刻发生的时刻,比如显示日期时间。


可丢失性是非重要的计时,它只要求阶段性时间符合而不要求一定时间到达就必定发生,比如LED闪烁的时间控制、倒计时执行某些功能性操作,通常是使用时间系统的时间发生标志。同时在这一层如果能够将WINDOWS程序设计中的一些优秀思想利用起来,则非常好。能够领悟到这一层的,在我所知道的前辈高手中少之又少。


第六层/丰富你的视界


这一层是我自己安排的位置。相比前面几层而言,我觉得它更为重要。写单片机程序,什么最痛苦,当然是做界面最痛苦。一个好的产品,离不开好的UI。在这里,你需要设计简单易用同时好看的人机接口非常不容易。


而且对于简单单色点阵液晶的操作,能够做到显示界面非常好看,同时程序结构清晰,非常不容易。很多人都说,设计界面,就像绣花似的。太痛苦了。我一直在折腾,现在还没有一个定论,到底是通用的结构好,还是针对特定用途还设计好。按照我在第四层中的说法,这里应该根据特定用途来规划更好些。


第七层/我们说好的


这一层主要是各种各样的协议的熟悉。非常重要,因为这个是和实际联系最为紧密的。工业现场的各种传感器,采集仪表如何将采集到的数据有效的发回给上位机。两者能够可靠的通信,软件层面上都离不开它们。


第八层/别争了,我来分配


还在为该如何分配CPU的时间嘛。其实不用苦恼。千万不要什么东西都重新自己造。你想开车,不用自己造轮子吧,买一个就可以了。前人其实对这些问题都研究过非常多了。因此操作系统应运而生。有人说,如果学会了在操作系统上面写程序,将绝不想再回到以前的那种编程方式,听起来非常诱人。


第九层/穿着操作系统去裸奔


什么,都用上操作系统了,还想着裸奔。太花心了吧。非也。这里是将前面几层所提及到的一些思想与第八层融汇贯通。可以说,在这一层,需要对前面的每一层都非常的熟悉。并经过很多实际项目的磨练方能有所体会。


第十层/无招胜有招


能够达到这一层的应该算的上是屈指可数的高手之一了。在这一层上,除了前面九层的熟练应用之外。更牛的人应该是可以设计操作系统,设计gui之类的。要达到这一点,需要非常多的基础知识,以及大量的专业知识以及实践,再加以10-20年的实战经验,以及一颗不沉寂的心。在这里,无招胜有招,非常熟悉MCU的特性,能够利用这种各样的技巧。这样的高人,在国内数一数二的电子论坛里也不在少数。


写在最后


单片机的本质只是一个工具。因此,更为重要的是模拟电子,数字电子以及其它基础的专业课程。很多人都说大学学的东西没有用,其实这个才是最大的谬论。万丈高楼平地起,没有这些专业基础课程的支撑。以后工作中进步非常缓慢。道理很简单。学的东西都是建立在以前的基础课程上面的。如果一个连三极管的放大电路都不会分析的人,我不相信他可以设计出优秀的电路来。因此作为一个合格的电子工程师,除了掌握广泛的专业知识技能外,时刻不能够停止学习的脚步。

-END-
﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
免责声明: 本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系,谢谢!

猜你喜欢


老司机们都是怎么学习STM32的?
Linux 自学大全,16张思维导图!
硬件工程师和软件工程师哪个更有前途?

 最 后  
 

若觉得文章不错,转发分享,也是我们继续更新的动力。
5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等
在公众号内回复「 更多资源 」,即可免费获取,期待你的关注~
长按识别图中二维码关注
大鱼机器人 一个专注于机器人技术,单片机,嵌入式系统,智能家居,智能设备,PCB设计,IT最新动态的自媒体。此外,还有海量学习资源等你来领取。作者:张巧龙,个人微信号:well_xiaolong。欢迎关注公众号,名称:大鱼机器人,公众号ID:All_best_xiaolong
评论
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 188浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 58浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 60浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 164浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 122浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 156浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 118浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 103浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 182浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 492浏览
  • 日前,商务部等部门办公厅印发《手机、平板、智能手表(手环)购新补贴实施方案》明确,个人消费者购买手机、平板、智能手表(手环)3类数码产品(单件销售价格不超过6000元),可享受购新补贴。每人每类可补贴1件,每件补贴比例为减去生产、流通环节及移动运营商所有优惠后最终销售价格的15%,每件最高不超过500元。目前,京东已经做好了承接手机、平板等数码产品国补优惠的落地准备工作,未来随着各省市关于手机、平板等品类的国补开启,京东将第一时间率先上线,满足消费者的换新升级需求。为保障国补的真实有效发放,基于
    华尔街科技眼 2025-01-17 10:44 221浏览
  • 随着消费者对汽车驾乘体验的要求不断攀升,汽车照明系统作为确保道路安全、提升驾驶体验以及实现车辆与环境交互的重要组成,日益受到业界的高度重视。近日,2024 DVN(上海)国际汽车照明研讨会圆满落幕。作为照明与传感创新的全球领导者,艾迈斯欧司朗受邀参与主题演讲,并现场展示了其多项前沿技术。本届研讨会汇聚来自全球各地400余名汽车、照明、光源及Tier 2供应商的专业人士及专家共聚一堂。在研讨会第一环节中,艾迈斯欧司朗系统解决方案工程副总裁 Joachim Reill以深厚的专业素养,主持该环节多位
    艾迈斯欧司朗 2025-01-16 20:51 198浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 73浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦