在实际的工程中,我们所写的代码会与学习的例程有很大的差异。其中主要的差异在于,在学习时的例程都是模块化的,也就是一块块的积木,进行起来不会有什么阻碍。而当用到工程中时,就相当于用积木来搭出各种外观的房子。这时你就会发现不同风格的房子需要不同的结构,并且不同的人搭一样的房子的过程或思维也不尽相同。
在学习的过程中我是以工程化的思维去学习的,也就是学习到的知识点要应用到自己想的一些项目中。前期可以不好用,先把功能做出来,后期再慢慢去优化。当然做为硬件工程师,对软件部分也是从小白开始入门,所有代码里肯定也会有一些不合理的地方,这个也是正常的,因为还在进步的过程中。
在这个项目中,我需要上位机(串口助手或Labview程序)传递一些字符串来控制开发板上的外设。所以定义了一种格式,如:Vbat1;Single;Charge;ON;500mAh;4.2V;表明的是第一通道的电池;单节;充电;开启;500mAh电流;4.2V电压这样的信息。这样的信息想了一次性传递到开发板上让ESP32知道并且做出对应的操作,这我们如何写这样的程序?
首先我的想法是上位机发送信息到单片机上,单片机要产生中断,在中断中接收信息后组成一个字符串,然后这个字符串通过一个函数进行分割,将需要的信息一个个提取出来做对应的操作。