上述代码初始状态并没有使LED3闪烁
时间: 2023-08-21 13:06:24 浏览: 52
非常抱歉,我犯了一个错误。在初始化函数中,我没有设置LED3的初始状态,导致LED3没有闪烁。以下是修正后的代码:
```c
#include <msp432p401r.h>
#define S3 BIT1
#define LED3 BIT0
unsigned int led_on_time = 1000; // 初始亮起时间为1秒
unsigned int led_off_time = 1000; // 初始不亮时间为1秒
unsigned int led_period = 2000; // 初始周期为2秒
void delay_ms(unsigned int ms){ // 延时函数
int i, j;
for(i=0; i<ms; i++){
for(j=0; j<5000; j++);
}
}
void init(){ // 初始化函数
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗
P1SEL0 = 0;
P1SEL1 = 0;
P1DIR |= LED3;
P1OUT &= ~LED3;
P1REN |= S3;
P1OUT |= S3;
}
void blink_led(unsigned int on_time, unsigned int off_time){ // LED闪烁函数
P1OUT |= LED3;
delay_ms(on_time);
P1OUT &= ~LED3;
delay_ms(off_time);
}
void main(){
init();
while(1){
blink_led(led_on_time, led_off_time); // 闪烁LED
if((P1IN & S3) == 0){ // 检测S3按键是否按下
delay_ms(5); // 延时去抖
if((P1IN & S3) == 0){ // 再次检测S3按键是否按下
while((P1IN & S3) == 0){ // 等待S3按键松开
delay_ms(10);
}
if(led_period < 4000){ // 降低LED闪烁频率
led_period += 2000;
led_on_time += 1000;
led_off_time += 1000;
}
else{ // 恢复LED闪烁初始状态
led_on_time = 1000;
led_off_time = 1000;
led_period = 2000;
}
}
}
delay_ms(10);
if(led_period > 0){
led_period -= 10;
}
else{
led_period = 4000;
led_on_time = 1000;
led_off_time = 1000;
}
}
}
```
在初始化函数中,我使用了P1.0控制LED3的初始状态为不亮,以便在运行时能够正常闪烁。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)