1 LED线程

LED相关代码位于device\loongson\ls1c300b_hrst\test\sample_gpio.c文件中。

首先create_gpio_task创建一个线程,该线程为 gpio_task 。

龙芯OpenHarmony课程 【3】GPIO操作 点亮LED_引脚

接下来,进入 gpio_task 线程后,会调用led_init初始化我们的led灯,对应的IO口为 32。

龙芯OpenHarmony课程 【3】GPIO操作 点亮LED_上升沿_02

2 LED初始化

事实上,就是通过调用 gpio_init 将引脚初始化为 输出模式,并将引脚设置为高电平。

龙芯OpenHarmony课程 【3】GPIO操作 点亮LED_上升沿_03

LED的点亮和熄灭操作,也是通过调用gpio_set函数进行引脚高低电平设置。

龙芯OpenHarmony课程 【3】GPIO操作 点亮LED_初始化_04

3 GPIO相关API函数

主要这3个函数,初始化,设置高低电平、读取GPIO引脚电平状态

龙芯OpenHarmony课程 【3】GPIO操作 点亮LED_引脚_05

4 GPIO工作模式

1c300b芯片的GPIO只有输入、输出2种状态。

龙芯OpenHarmony课程 【3】GPIO操作 点亮LED_引脚_06

5 高低电平

和大多数芯片一样,1c300,0表示低电平、1表示高电平。

龙芯OpenHarmony课程 【3】GPIO操作 点亮LED_引脚_07

6 引脚中断触发方式

支持上升沿触发、下降沿触发、高电平触发、低电平触发等。

龙芯OpenHarmony课程 【3】GPIO操作 点亮LED_上升沿_08