1. 课程目标 使用while循环语句实现LED小灯无限次循环闪烁。 2. 硬件接线 和《给引脚设置数字值-点亮ESP32开发板外接LED小灯》一节完全一样。 3. 程序代码 while语句的程序结构,如下: “逻辑判断条件”是一个表达式,这个表达式的运算结果必须是True或False。比如“2>1”运算结果是True。比如“2>9”运算结果是False。这个表达式也可以是“True”或“False”。 “while内部程序块”可有一条或多条语句组成。“while内部程序块”中的语句和while不能对其,必须前面有空格(1个、2个、4个空格都可以,一般写4个空格),使得程序块向右侧缩进。 while循环语句执行的顺序是,先执行“逻辑判断条件”,如果结果是True,则会执行“while循环块”,否则不会执行“while循环块”,循环即刻终止。如果“逻辑判断条件”的结果是False,会会执行“while内部循环块”,然后从头开始进入下一轮判断与执行。只要有一次“逻辑判断条件”的结果是False,则while即刻终止。然后继续执行while整个语句块后面的程序。 例:使用while循环语句实现LED灯无限次闪烁的代码如下: import machine import time pin22 = machine.Pin(22, machine.Pin.OUT) #设置22号引脚为输出引脚 pin23 = machine.Pin(23, machine.Pin.OUT) #设置23号引脚为输出引脚 while True: #点亮LED小灯,并延时1秒 pin22.value(1) #给引脚设置数字值为1(高电平) pin23.value(0) #给引脚设置数字值为0(低电平) time.sleep(1) #延时1秒 #关闭LED小灯,并延时1秒 pin22.value(0) #给引脚设置数字值为0(低电平) pin23.value(0) #给引脚设置数字值为0(低电平) time.sleep(1) #延时1秒 |
上面程序代码while的“逻辑判断条件”是True,这个表达式的结果永远是True,不会变,所以这个循环永远会执行下去。 如下的代码,由于蓝色部分的语句前面没有缩进,不是while的内部程序块,所以循环执行的是红色部分语句,最终的效果是LED灯一直亮着。 import machine import time pin22 = machine.Pin(22, machine.Pin.OUT) #设置22号引脚为输出引脚 pin23 = machine.Pin(23, machine.Pin.OUT) #设置23号引脚为输出引脚 while True: #点亮LED小灯,并延时1秒 pin22.value(1) #给引脚设置数字值为1(高电平) pin23.value(0) #给引脚设置数字值为0(低电平) time.sleep(1) #延时1秒 #关闭LED小灯,并延时1秒 pin22.value(0) #给引脚设置数字值为0(低电平) pin23.value(0) #给引脚设置数字值为0(低电平) time.sleep(1) #延时1秒 |
4. 实验结果参看实验结果视频。
|