简介

开发板上除了电源指示灯外,还有一颗LED灯接在GPIO口上,我们可以控制GPIO口来控制LED灯的亮灭,使用C语言进行开发需要配置GPIO的寄存器,相对新手来说很麻烦,而python模块就简单的多了,我们可以直接加载模块进行点亮LED灯。

示例

'''
这个例子演示LED闪烁效果
'''
import led
import time
while True:           #死循环,为了让led灯实现闪烁
    led.on()              #点亮led灯
    time.sleep_ms(500)    #让cpu睡眠500毫秒
    led.off()             #熄灭led灯
    time.sleep_ms(500)    #让cpu睡眠500毫秒

运行上面的代码,我们将会看见开发板上的led灯开始闪烁。

延伸

使用micropython直接调用led模块可以快速实现led灯的控制,如果是使用C语言开发的话,我们首先得先看原理图上LED灯对应的GPIO口,然后按如下进行寄存器配置:

  • 确认硬件引脚功能是否为GPIO
  • GPIO口对应的寄存器是否配置成输出模式
  • 控制GPIO口的输出值

而使用micropython本质上这些工作都已经帮你完成了,呈现出更人性化的操作,开发者不必去关注底层实现方式,只关注上层应用功能是否能够实现,加快开发速度。
如果你愿意花费更多的时间来了解这整个过程,可以使用linux自带的GPIO控制方式来体验这个过程,这里给出具体的指令操作和说明,在终端下执行下列指令:

devmem 0x120C0018 32 0x1d02 #led灯接的gpio1_6口的复用寄存器0x120C0018,对应配置成gpio功能的数值为0x1d02
echo “14”>/sys/class/gpio/export #这里14是根据gpio组和对应序号进行计算,这里gpio1_6按照公式1*8+6计算得到14
echo “out”>/sys/class/gpio/gpio14/direction #配置为输出模式
echo “0”>/sys/class/gpio/gpio14/value #输出低电平,回车后,LED灯亮

文档更新时间: 2020-12-09 09:45   作者:Tony