全局变量与状态机的结合,让STM32工程工作得更加有效率,稳定。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局变量与状态机的结合,让STM32工程工作得更加有效率,稳定。相关的知识,希望对你有一定的参考价值。

  基于STM32在做产品,开发环境是KEIL5。

  由于是一个人负责一个产品整个部分,所以必须把整个流程弄得十分的清楚,才能保证产品在所有情况下都能正常稳定地运行。

  由于经验的缺少,产品刚上手的时候总是纠结与某一块的功能,这样一块一块的功能划分让之后我在对功能整合和功能衔接的时候非常头疼,也非常的乱,虽然基本能让产品稳定工作,但代码实在臃肿,并且之后如果升级版本,或者移植,也非常的不方便。

  现在用全局变量和状态机来解决变得非常的清晰:

  1.四个输入输出量的全局变量(如果有衔接的函数可以增加全局变量的定义,但是一定要保证输入输出的唯一性);

  2.产品在不同状态下的工作内容;

  全局变量看成是数据API接口,在工作内容中的函数调用全局变量,保证函数的输入输出全是全局变量。在main()中

  整体架构就是

  

 1 while1 2  3     switch(station)
 4  5     case :station_1
 6     -----
 7     break 8     case :station_2
 9     -----
10     break11 
12     -----
13     -----
14 15

  就是这么简单。

  我还是太菜了。。。

  

以上是关于全局变量与状态机的结合,让STM32工程工作得更加有效率,稳定。的主要内容,如果未能解决你的问题,请参考以下文章

vscode+platformIO开发STM32

vscode+platformIO开发STM32

vscode+platformIO开发STM32

stm32编程问题,状态机,求大神指导,初学者,主要是switch语句后面的变量取值不明白

STM32CubeMX软件工程描述_USART配置过程

stm32全局数组上电时会加载到内存吗