【平头哥RVB2601开发板试用 】GPIO控制的流水灯

简介: 对于芯片来说,其实经常用到的就是IO口了,其实其所有功能的实现都是通过IO口的复用实现的,那么今天咱们就简单对IO口控制流水灯进行讲解分析

作者:ljf101230


对于咱们主板,首先就是看看LED灯在哪个引脚上控制,是高电平还是低电平触发,这些都可以从原理图上查到,如图:

1.png

2.png

可以清楚的知道,3个PED灯分别与PA7、PA25、PA4三个引脚相连,而且通过LED_RGB知道分别有三种颜色而且为低电平触发(因为共3.3V高电平)。


下面在程序中我们只需要将对应的IO口置成0,即低电平即可。


下面下载流水灯DEMO样例程序,并打开。

3.png


下面咱们对这个样例程序进行分析:

4.png

5.png

6.png


这个程序是基于GUI函数那个程序上实现的,关于画面程序前期咱们简单介绍过(第一张图片就是设置一个demo_task调用所有的任务和gui画面程序),不再赘述.


在main.c中定义了csi_gpio_pin_t 变量,这个变量其实就是引脚的别名,分别对应三个引脚,方便清晰,然后定义void led_pinmux_init()LED初始化函数和void led_refresh()LED灯循环函数。


在初始化函数中先用csi_pin_set_mux()函数定义引脚功能作为GPIO使用,函数说明和形参定义如图:

7.png

8.png

9.png


这个对pin_name_t和pin_func_t所用引脚以及功能复用的枚举列表,后期若作为其他用途也得先将其相应引脚和功能定义好,才可以实现其功能。


这个csi_gpio_pin_init()函数其实就是初始引脚别名,csi_gpio_pin_dir()这个函数就是定义引脚是输入还是输出的,咱们控制LED灯作为输出使用。


初始化完成之后,就是LED灯控制函数void led_refresh(),这个函数就是利用控制数值g_ctr++进行判断选择控制引脚输出高低电平,从而控制不同引脚亮灭。


对于本函数需要注意的细节是在里面有#ifdef和#endif,这个定义,若想启用这个之间的函数必须先#define 控制的命令。


下面看一下,显示视频


本文源自:平头哥芯片开放社区

欢迎关注公众号:芯片开放社区(ID:OCC_THEAD),查看更多应用实战文章。

相关文章
|
网络协议 数据安全/隐私保护 芯片
|
存储 API 开发工具
【平头哥RVB2601创意应用开发】使用体验02 -- KV存储
使用KV组件在RVB2601进行项目参数的本地持久化。
582 0
【平头哥RVB2601创意应用开发】使用体验02 -- KV存储
|
网络协议 物联网 数据处理
【平头哥RVB2601开发板试用体验】AT 解析器和通过w800 AT命令接入阿里云生活物联网平台
RISC-V RVB2601 Yoc 实现和测试验证阿里云平台接入的等相关功能,同时去了解YoC中网络设备和AT解析器框架。
698 0
【平头哥RVB2601开发板试用体验】AT 解析器和通过w800 AT命令接入阿里云生活物联网平台
|
存储 JSON 数据格式
【平头哥RVB2601创意应用开发】疫情播报系统应用
实现通过网络读取json数据,进行分解,针对数据字符,播放相应的mp3音频文件,并在OLED屏幕上显示实际对应数据的疫情播报系统。
224 0
【平头哥RVB2601创意应用开发】疫情播报系统应用
|
机器学习/深度学习 人工智能 算法
|
存储 边缘计算 固态存储
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-面向高性能领域CPU
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-
1485 0
|
供应链 芯片
平头哥芯片采用的RISC-V架构
平头哥芯片采用的RISC-V架构
355 1
|
物联网 开发工具 开发者
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-剑池CDK开发工具
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链
392 1

热门文章

最新文章