Arduino造轮子—Flash&SRAM优化代码

🚩优化代码很重要的两个思路:①SRAM→Flash②独享SRAM→共享SRAM

首先来看一组Arduino内存占用情况的对比:

优化之前
优化之前
优化之后
优化之后

明显发生了很大的改变,而实现的功能却是一模一样的。

本次程序例程来自太极创客官网,此平台的Arduino教程深入浅出,对于想学习Arduino的同学,首推太极创客团队。(๑•̀ㅂ•́)و✧

以下便是今天练习的内存优化程序:

🎯优化前代码

/*
 * 基本功能介绍:
 * 小夜灯配备人体红外感应传感器以及光敏电阻实现照明自动化
 * 点亮和熄灭时产生渐明渐暗效果
 * 在点亮过程中产生呼吸灯的效果
 * 用户可以通过变量 maxRVal、maxGVal、maxBVal 自定义小夜灯点亮的颜色
 * 用户可以通过变量 breathStep、breathStepDelay 自定义小夜灯渐明渐暗的速度
 *
 * 基本电路连接说明:
 * 共阴极RGB-LED引脚R 连接 Arduino控制器引脚6
 * 共阴极RGB-LED引脚G 连接 Arduino控制器引脚5
 * 共阴极RGB-LED引脚B 连接 Arduino控制器引脚3
 * 红外人体感应模块信号输出引脚 连接 Arduino控制器引脚8
 * 光敏电阻分压电路信号输出引脚 连接 Arduino控制器引脚A0
 */
//定义引脚
#define rLedPin 6
#define gLedPin 5
#define bLedPin 3
#define irSensorPin 8
#define lightSensorPin A0
//设置参数
int ledR=0;
int ledG=0;
int ledB=0;

bool irReading;
int lightReading;

int maxRVal=125;
int maxGVal=200;
int maxBVal=33;

int minRVal=39;
int minGVal=65;
int minBVal=11;

int breathStep=1;
int breathStepDelay=18;
bool breathOnOff=0;

bool onOffState;

//debug模式是否开启
//bool debugOn=0;
/*
 * Arduino在控制LED亮度变化时,对于时间的要求很苛刻。
 * 每一次Arduino通过串口监视器输出信息时都会让Arduino短暂停顿
 * 这些短暂停顿会影响小夜灯的渐明渐暗效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值