开发板学不到的7大核心技能

有老铁说,学开发板和我们项目有什么区别?

我觉得区别还是挺大的,我们也是从开发板学起的,开发板的尽头,是把外设调通即可。

有些老铁吐槽,说开发板坑啊,教程讲的太基础啥的。

我说,要感谢他们,降低了学习的门槛,大家定位不一样,开发板的定位是教你学会这款芯片的使用,而不是教你做项目,教程能开源,就很不错了,也就靠硬件挣钱。

没人会纯粹为情怀而分享系统的教程,但凡是分享,都带目的的,只是时间问题,务必记住这句话。

等到了某个阶段,想被割,都找不到资源的时候,才叫造孽,比如工作中的问题,成长过程中的瓶颈问题等等…

在实际产品开发中,调通单片机外设,仅完成了10%的工作量,90%都是在处理产品功能逻辑。

拿串口举例,开发板仅仅是调通串口发送和接收字节数据即可。

但实际应用时,肯定会接不同的传感器和模块,比我们无际单片机项目6接的4G模块。

第二步通过串口发送AT指令,去实现发短信、打电话、以及用4G连接服务器。

第三步,要实现产品具体短信内容,电话呼叫逻辑,服务器还涉及到协议设计,解析等等。

其中的重点和难点有:

1.要掌握AT指令集

每种4G模块都有自己特定的AT指令集,需要仔细研究模块文档,这个过程能学会解读厂商文档,理解不同指令的功能、参数和返回值。

实际上,自己去看这些文档,哪怕能看懂AT指令,落实到应用上,也会有很多问题。

还需要知道AT指令使用场景和流程,我们的经验是以前做产品积累的,都是找原厂的技术支持,然后自己踩坑调试出来的。

这个过程最直接的就是能培养阅读技术文档的能力,学完以后,以后用移远的模块,也很熟了,这公司的模块市场占有率非常高,很多产品都在这个型号。

2. 程序状态机设计

4G模块有多个工作状态(初始化、注册网络、拨号等),需要设计复杂的状态机。

以上是我们项目6这部分的代码,我们以前产品,就是这样去设计的,不用担心学到的,偏离实际工作的问题。

这个过程,能学习如何设计和实现可靠的状态转换逻辑,培养复杂系统的设计能力,属于功能经验类的知识,这是开发板学不到的。

3. 串口数据解析

AT指令的返回数据格式复杂,需要编写解析架构和算法。

以上是无际单片机项目6的AT字符串匹配代码。

这个过程能提升了实际数据处理能力,而不仅仅是简单的发送接收。

4. 异步通信处理

4G模块可能随时发送状态信息,需要设计异步处理机制。

我们采用的是队列方式先缓存,在通过状态机方式发送。

这个过程能学习数据环形缓冲区设计等,能深入理解了嵌入式系统的异步编程模型。

5. 容错机制

实际环境中可能出现各种异常(如没检测到SIM卡,信号丢失、模块无响应),我们在写程序时,要考虑到各种因为环境或者其它导致的功能异常情况,这是产品稳定性的关键细节。

这个过程能学到错误检测和恢复机制,能学到我们对于一些可靠性设计的思维,这在实际项目中极其重要。

6.调试技巧

比如用STLink或者串口去调试通讯数据等实用的技巧。

7.电源管理

我们项目1,4,5这种探测器,是用电池功能,所以要考虑到省电,通过项目能学到我们去实现低功耗的方法。

虽然功能不复杂,但是我们第一次做低功耗产品,也是踩了很多坑的。

不同的项目,类似的细节还有很多,这就是为啥只有工作了,才能真正成为工程师的原因,涉及的细节太多了,而且大多数细节问题在网上都找不到答案的。


最近很多粉丝问我单片机怎么学,我根据自己从业十年经验,累积耗时一个月,精心整理一份「单

片机最佳学习路径+单片机入门到高级教程+工具包」全部无偿分享给铁粉!!!

除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手

教程资料包和详细的学习路径可以看我下面这篇文章的开头

单片机入门到高级开挂学习路径(附教程+工具)

单片机入门到高级开挂学习路径(附教程+工具)

单片机入门到高级开挂学习路径(附教程+工具)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值