unsigned long previousTime = 0;//(64位,处理速度更快) int interval = 1; boolean sta = false;//(定义布尔值) void setup() { Serial.begin(9600);//(初始化串口,设置波特率为9600) pinMode(6, OUTPUT); //(定义引脚为输出) } void loop() { unsigned long currentTime = millis();//(millis()为上电以来所经历的毫秒数,达到ul的最大值之后回到0) if (currentTime - previousTime>= interval) { previousTime = currentTime; sta= !sta; if (sta) { digitalWrite(6, HIGH); } else { digitalWrite(6, LOW); } } }
时间: 2023-06-14 22:03:13 浏览: 52
这段代码是一个简单的闪烁LED程序。在setup函数中,串口被初始化并设置为9600波特率,引脚6被定义为输出。在loop函数中,使用millis函数记录当前时间,将其与之前的时间间隔进行比较,如果间隔达到了1毫秒,则将之前的时间更新为当前时间,并且将sta变量取反。然后根据sta的值,将引脚6的电平设置为高或低,实现LED的闪烁效果。
相关问题
volatile unsigned long long int milliseconds = 0; // 用于存储毫秒数 int running = 1;
这段代码定义了一个 `volatile unsigned long long int` 类型的变量 `milliseconds` 和一个 `int` 类型的变量 `running`。
`milliseconds` 用于存储毫秒数,`volatile` 关键字的作用是告诉编译器该变量的值可能会在意料之外的情况下改变,从而防止编译器对该变量进行优化,确保每次访问都从内存中读取最新的值。
`running` 是一个标志变量,用于表示程序是否正在运行。在这里,将其初始化为 `1` 表示程序开始时处于运行状态。可以根据需要在程序的其他地方修改 `running` 的值来控制程序的执行流程。
优化:unsigned char k1_flag = 0; //档位按下标志 unsigned char k1_count = 0; //单位计数器 unsigned char smg[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //数码管显示数字0-9 unsigned int speed = 0; //速度 unsigned int price = 0; //价格
对于这段代码,可以进行如下优化:
1. 可以使用 bool 类型代替 unsigned char 类型的 k1_flag,因为 k1_flag 只有两个状态,可以用 true 和 false 表示;
2. 可以使用 const 修饰符将 smg 数组声明为常量,因为程序不会修改该数组中的值;
3. 可以将 speed 和 price 声明为 unsigned short 类型,因为它们的取值范围都在 0-65535 之间,所以用 unsigned short 能更好地体现变量的含义。
优化后的代码如下:
```c++
bool k1_flag = false; //档位按下标志
unsigned char k1_count = 0; //单位计数器
const unsigned char smg[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //数码管显示数字0-9
unsigned short speed = 0; //速度
unsigned short price = 0; //价格
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)