LED灯的端口是P8,怎么让它循环闪烁,求编写过程,请大家帮帮忙
把第20行的代码换成如下代码试试
if(i%2==0)
GPIO_SetBits(GPIOB,GPIO_PIN_8);
else
GPIO_RestBits(GPIOB,GPIO_PIN_8);
不知道你这个问题是否已经解决, 如果还没有解决的话:这个问题需要使用定时器来实现LED灯的循环闪烁功能。具体步骤如下:
Timer1.initialize(1000000); // 初始化Timer1定时器,每隔1秒触发一次中断
void timer1_ISR() { digitalWrite(8, !digitalRead(8)); }
Timer1.attachInterrupt(timer1_ISR); // 开启Timer1中断
完整的代码范例如下:
#include <TimerOne.h>
void timer1_ISR();
void setup() {
pinMode(8, OUTPUT);
Timer1.initialize(1000000); // 初始化Timer1定时器,每隔1秒触发一次中断
Timer1.attachInterrupt(timer1_ISR); // 开启Timer1中断
}
void loop() {
// 此处不需要任何操作
}
void timer1_ISR() {
digitalWrite(8, !digitalRead(8)); // 控制P8端口的LED灯的电平状态取反
}
需要注意的是,Timer库需要用户自己下载并添加到Arduino开发环境中,可参考如下教程:https://arduino.stackexchange.com/questions/2099/how-can-i-use-timers-in-arduino-uno
如果使用的是其他型号的Arduino开发板,也可以使用其他相应的定时器库实现。