轮询方式操作GPIO,实现红灯和蓝灯循环闪烁代码
时间: 2024-10-01 12:07:47 浏览: 88
轮询方式操作GPIO通常用于嵌入式系统中,比如Arduino或树莓派等单片机平台。这里是一个简单的Python示例,假设我们使用的是RPi.GPIO库来控制GPIO(对于树莓派),并且有两个LED灯(分别代表红灯和蓝灯)。我们将采用定时器的方式每隔一段时间切换它们的状态来实现循环闪烁:
```python
import RPi.GPIO as GPIO
import time
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 定义红灯和蓝灯的GPIO编号
RED_PIN = 4
BLUE_PIN = 17
# 设置GPIO为输出
GPIO.setup(RED_PIN, GPIO.OUT)
GPIO.setup(BLUE_PIN, GPIO.OUT)
try:
while True:
# 红灯亮
GPIO.output(RED_PIN, GPIO.HIGH)
GPIO.output(BLUE_PIN, GPIO.LOW)
print("Red light on")
# 暂停一段时间
time.sleep(0.5) # 可以调整这个时间来改变闪烁频率
# 红灯熄灭,蓝灯亮
GPIO.output(RED_PIN, GPIO.LOW)
GPIO.output(BLUE_PIN, GPIO.HIGH)
print("Blue light on")
# 再次暂停一段时间
time.sleep(0.5)
except KeyboardInterrupt:
# 结束时清理GPIO
GPIO.cleanup()
print("Flashing stopped.")
阅读全文