野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12661|回复: 2

项目中用到很多个状态机来写,怎么减少状态变量的使用?

[复制链接]
发表于 2020-6-9 09:42:56 来自手机 | 显示全部楼层 |阅读模式
项目中用了比较多的状态机写程序(十个以上吧),然后每个状态机的内部都定义一个类似static stu_step;这样的静态状态变量的话会耗费好多ram,因为使用的单片机的ram紧张,所以想使用全局变量来代替(这样不同的状态机就可以重复使用部分状态变量),以便减少这些状态机内部状态变化变量的使用。但这样在写代码的时候会容易不记得哪个状态变量已经使用过哪个还没使用过,容易混乱,有没有什么方法可以减少这些混乱呢?
回复

使用道具 举报

发表于 2020-6-10 08:32:53 | 显示全部楼层
可以用位标识不同的状态,能节省空间
回复 支持 反对

使用道具 举报

发表于 2020-6-10 17:36:38 | 显示全部楼层
状态变量一般就是用一个字节来表示就够了,即便是 十个状态机,也不过就是10个字节……你的程序已经到了要扣十几个个字节的程度了么?
全局变量建议少用,尤其是状态机的状态变量,我觉得你节省尺寸的思路似乎不太正确。一般要省空间,也要先从大头开始。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-25 00:13 , Processed in 0.053692 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表