【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
ai对各个行业的影响是全方位的,不仅是对程序员,其实对于很多其他的服务行业,也是有影响的。只不过,ai对程序员的影响是最直接的,也是最肉眼可见的。既然ai对软件开发行业造成的影响这么大,那么对于嵌入式工程师来说,也应该学会用ai来开发esp32程序。这样一方面可以加快开发的速度,另外一方面可以抽出时间,投入更多的精力来服务客户,这是我们需要考虑的事情。

1、用成熟的模块来开发
用成熟的模块开发有很多好处,不仅模块本身比较稳定,而且文档方面,这些资料会非常多。有了稳定的模块,以及对应的传感器,那么发生问题的时候,大概率就是我们自己的问题。这样就比较容易定位问题、缩小问题的范围,这对我们来说是非常有好处的。
2、大部分驱动代码其实都是成熟的代码
对于mcu来说,很多的驱动都是差不多的。比如说存储、传感器、模块、屏幕、电机控制、复位、rtc、tf卡等等,这方面的代码特别多。很多时候,其实并不建议自己去写。一方面比较容易写错,另外一方面ai这方面要擅长很多,自己没有必要把精力花在这个重复的事情上面去。
3、一边是编译调试代码、一边和ai交互
实际嵌入式开发的时候,我们一般会有两个环境,一个是嵌入式开发,比如说arduino,或者是esp-idf交叉编译环境;还有一个环境就是ai交互编程。当然,通过插件的方式,也是可以合二为一的。不过很多的编程可能不支持这么做,比如keil,比如visual studio,比如eclipse等等。
如果自己使用visual code+esp-idf开发,就只需要安装一个插件就可以ai编程了,比如trae插件。
4、尽快突破驱动,接下来就是状态机
对于mcu这个层面的嵌入式开发来说,一般都是基于状态机的开发。相关的驱动解决之后,下面就是解决一个业务问题。**而这个业务,绝大多数都是一个状态机就能解决的。**比如说这个业务可能是一个咖啡机,可能是一个炒菜机,可能是一个飞控,又或者可能是一个机械臂的机器人。所以这个mcu,底层就是一个状态机,它有输入,有输出,需要在不同的状态下,面对不同的输入,给予不同的输出,这就是状态机的由来。
明白了这一点之后,我们在编写代码之前,就可以手动打好草稿,提前把状态机描述好,把业务流程写好,再用ai的方式把代码一步一步呈现出来,这就是最快的ai编程方式。
5、最后是改进和优化
优化的层面,一般是分成两个方面,一个是交互体验的优化,这部分可以通过配置、提示、布局、美工、界面去完成;还有一个优化是底层的优化,比如说硬件底层,dma、汇编、数据传输等等,这些都是优化的范畴。其实后面这一点也是可以通过ai实现的。不过要做到这一点的话,需要自身对底层比较了解,其次就是把足够多的信息喂给ai,这样它才可能帮助我们做出最合适的决策。
6、ai不能解决的事情是断定问题的类型
单纯的软件开发,这些都是ai的强项,但是ai不能判别的场景,就是当出现问题的时候,不清楚是软件问题还是硬件的问题,而这一点在嵌入式开发的时候显得尤为重要。**如果一开始的时候,方向就是错的,那么后续只会越走越远。**所以,就目前来说,这一点就是ai暂时还无法解决的事情。
举个例子来说,某个屏幕点不亮,有可能是电源问题,有可能是接线问题,有可能是屏幕问题,当然也可能是驱动问题,甚至也有可能主控板坏了,这一切基本上只能靠自己的经验去慢慢摸索和体会。
7、ai给嵌入式开发带来的思考
作为嵌入式开发人员来说,个人必须有模块-》面板包-》洞洞板-》电路板绘图的能力,另外一方面也要尽可能通过ai加快自己软件开发的效率。如果再此基础之上,多一点市场能力,知道如何接触客户,如何做产品,那是再合适不过的选择了。个人也会因此有更大的一个发展前途。