2023-06-25 15:12:18 来源:面包芯语
你点击蓝字关注,回复“入门资料”获取单片机入门到高级开挂教程
开发板带你入门,我们带你飞
(资料图片仅供参考)
文 |无际(微信:603311638)
全文约1475字,阅读大约需要5分钟
最近看到一个提问:单片机学了很久,一直停留在点灯水平,负责的只能抄别人的代码?
我先给答案:因为缺编程思维和代码水平两种能力。
简单来说,就是缺少大量项目实战。
单片机只是工具,用工具独立做项目,还有很漫长的路要走。
好比你会写字,会成语,不代表你能写出一篇合格作文。
给大家分享下自己是如何一步步成长过来的。
而且我可以确定,每个工程师早期都会碰到写程序没思路,写不出来的问题。
刚开始,和大家一样,通过开发板学了单片机,C语言,基础电路。
我第一个学的STC89C51单片机,学完以后没有马上去学STM32,当时STM32还没现在这么火。
学完STC89C51以后,我基于开发板上去做了一个电子时钟小项目,用DS1302时钟芯片,数码管显示时间,并可以通过按键去设置时间。
别看就这么简单的小项目,对新手来说还挺有挑战的。
如果光让我自己想,肯定做不出来,因为压根没经历过。
开发板有提供这种小项目的例程,我是先理解例程代码是怎么运行的,然后自己一边写,慢慢磨出来的。
做完这个项目以后,我就出去找工作了,找了几个星期,都被拒绝了。
后面我又在网上买了个智能小车的项目来做。
这个项目比电子时钟更复杂一些,说真的项目虽然很low,但是确实学到了很多东西。
比如H桥驱动电路让我对MOS管的理解更深了,还有看数据手册更熟练了。
当然,最重要的是,编程思维和代码水平提高不少。
做这个项目,也是按照老套路,先理解每个功能模块硬件原理,再看例程代码实现的原理,边抄代码边想加深印象。
最后时间关系,我也没完全独立写出来,但是每块代码都能看懂。
后面我就去工作了,第一个项目也是用STC单片机做的,我就负责改改程序,根据客户要求定制下产品功能。
说实话,看别人代码,比自己重写还痛苦,特别是没注释,命名又不规范的代码。
我碰到有些特别变态的工程师,变量都是a1,b2,abc这样的名字,这种只有下图能表达我的心情。
虽然前面做了2个小项目,但是代码改起来还是很痛苦,看不懂原作者的思路,只能尝试改代码,然后下载进去看看效果,不行再改,循环这个过程,循环多了自然就彻底搞懂了。
其实,我用得方法不对,虽然也能改出来,但是效率太低了。
今天我直接把比较高效的方法告诉你。
第一步:一定要非常熟悉产品功能
很多新手是通过代码去反推产品功能的,这种逆向思维,难度比较大。
第二步:一定要熟悉电路每个功能模块的原理
思路取决于电路的原理,比如按键检测,有些是通过引脚的高低电平,有些是通过AD值的变化。
所以写程序没思路,有很大原因是你不知道电路原理的规律。
第三步:看类似功能的代码思路
如果功能一样的代码是最好的,可以通过电路原理去推测代码的思路,这也是你学习很好的方式。
第四步:验证思路
一定要尝试改代码,下载到硬件上看看效果,验证下你的推测对不对。
这一步最重要,你想达到写代码自由,真的是要靠多实践的。
第五步:举一反三,融会贯通
前面模仿别人的思路和代码,就是积累的过程,这种经验没办法通过一个教程学会的。
比如今天你学了一个按键检测的思路和代码,你可以把它保存到自己网盘里,下次碰到类似功能,直接复制出来改。
改的过程就是举一反三,因为每个产品按键数量和功能肯定不一样。
举一反三多了,后面也就能融会贯通了,不管多少个按键,要检测什么状态,你都会游刃有余。
而不是说什么都要自己独立写出来,这是初学者的通病,不要和自己较劲,不懂就先抄作业。
那些资深工程师,能独立做项目的,并不是比初学者聪明。
而是积累的项目多了,积累的功能模块多了,基本能覆盖大多数产品功能了,自然就能独立开发了。
独立开发不是绝对的,是相对的。
哪怕你做了10年,碰到没做过的项目,没做过的功能,一样需要先学习。
最后彩蛋时间!!!
下面是更多无际原创的个人成长经历、行业经验、技术干货。
1.电子工程师是怎样的成长之路?10年5000字总结
2.如何快速看懂别人的代码和思维
3.单片机开发项目全局变量太多怎么管理?
4.C语言开发单片机为什么大多数都采用全局变量的形式?
5.单片机怎么实现模块化编程?实用程度让人发指!
6.c语言回调函数的使用及实际作用详解
7.手把手教你c语言队列实现代码,通俗易懂超详细!
8.c语言指针用法详解,通俗易懂超详细!
标签:
- 加快虚拟仿真实训基地建设 启动职业学校信息化建设试点很必要
- “双减”后如何在满足学生多样需求方面做“加法”?
- 处于生理活跃期且心理发展不成熟 高校开设公共卫生必修课很必要
- 价格低于相应蔬菜零售价 西安投放约1万吨政府储备蔬菜
- 深受年轻消费群体所青睐 国潮风商品成为年货新选择
知识
- 他把银行卡卖给骗子,“黑吃黑”“截胡”十万元
- “老司机”4S店试驾豪车 结果油门当刹车撞了
- 新开工改造城镇老旧小区5.34万个
- 发动巡河志愿者2万余名 “用心护好每一条河”
- 假客服的套路:伪装成大平台客服,层层布局引人上钩
人物
- 浙江两轮核酸检测结果均为阴性 无新增本土阳性感染者
- 新疆阿克苏地区库车市发生4.1级地震 震源深度18千米
- 抵返哈尔滨人员须持48小时内核酸检测阴性证明
- 浙大紫金港校区已解封 有7337人有序离开该校区
- 2021年广东省第七届风筝锦标赛落幕
- 黑龙江讷河市启动全员核酸检测 目前讷河市全员核酸检测结果均为阴性
- 【同心粤港澳 携手大湾区】南头古城,搭建深港澳三地文化创意活动交流平台
- 重庆入河排污口整治工作推进至全市26个区县
- 四川省第二批政法队伍教育整顿:立案审查调查省级政法机关干警58人
- 长三角区域生态环境部门“云签约”长江大保护倡议书
- 古老长城重焕新生机
- 藏不住了!你同事里有许多“武林高手”……
- 浙江杭州2例无症状感染者系感染德尔塔变异株
- 喜马拉雅的深情和誓言
- 浪漫之城打造山海城一体新地标
- 让老年人更适应数字生活
- 内蒙古通辽市新增1例本土确诊病例、1例无症状感染者
- 徐州无新增确诊病例 核酸检测55515人结果均为阴性
- 甘肃培树“农家巧娘”增技能:返乡创业掌勺又“掌柜”
- 内蒙古通辽市科尔沁区一地调整为中风险地区
- 上海本轮疫情涉及闭环管理的医疗机构全面恢复门急诊
- 青年学生成艾滋病感染高发人群 “社会疫苗”如何打?
- 内蒙古满洲里新增本土确诊病例1例 当地开展第二轮大规模核酸检测
- 江西无新增本土确诊病例 上饶全面恢复正常生产生活秩序
- 中老铁路上会四国语言的列车长:用心维护中老友谊的桥梁
- 海南首次发现有环志的世界极危鸟种勺嘴鹬
- 一场“网络劝生者”和“网络劝死者”的战役
- 内蒙古通辽新增本土确诊和无症状感染者各1例 轨迹公布
- 江西中烟工业有限责任公司原总经理姚庆艳接受审查调查
- 宁夏45例新冠肺炎确诊病例均已治愈出院
- 内蒙古通辽市科尔沁区发现2名初筛阳性人员
- 生活在闹钟里的丈夫:自己迟一秒,渐冻症妻子就会多一分疼
- 辽宁新冠肺炎确诊病例零新增
- 11月28日16-24时,内蒙古新增本土确诊病例1例
- 奥密克戎毒株为何“需要关注”?现有防疫工具还有效吗?
- 黑龙江新增本土无症状感染者1例
- 这辈子一定要去趟这个公园 在这里“有种爱叫放手”
- 那年今日 | 一张漫画涨知识之11月29日
- 寒潮预警!我国中东部迎大范围降温 黑龙江等地降幅可达12℃
- 冷空气继续影响我国中东部 华北黄淮等地有雾和霾天气