05、W601电亮led

本文介绍了W601芯片电亮LED的原理,通过查看原理图确定LED对应的引脚,并详细阐述如何配置GPIO引脚以控制LED的亮灭。通过示例代码展示了初始化LED及进行LED测试的步骤,实现了LED的开关控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

05、W601电亮led

一、电亮led的原理

led就是一个发光二极管,具有单向导电性。在二极管的正极添加电压就可以电亮,反之在负极添加电压则点不亮(前提是不超过反向击穿电压)。

二、看原理图,找到led的有关引脚号

在这里插入图片描述在这里插入图片描述

由原理图可知,W601有三个led,LED_R,LED_G,LED_B,分别对应PA_13,PA_14,PA_15。

再看原理图,W601的引脚是接led的负极,led的正极接的是3.3v,所以我们只需要将PA_13,PA_14,PA_15引脚全部设置成低电平就可以电亮led了。

三、配置相关引脚

找到有关GPIO的文件,找到有关api:

/**
 * @brief          	This function is used to config gpio function
 *
 * @param[in]      	gpio_pin    		gpio pin num
 * @param[in]      	dir         		gpio direction
 * @param[in]      	attr        		gpio attribute
 *
 * @return         None
 *
 * @note			None	
 */
void tls_gpio_cfg(enum tls_io_name gpio_pin, enum tls_gpio_dir dir, enum tls_gpio_attr attr);//函数文档写的很清楚,这是配置引脚的函数

下面我们写一个初始化led的函数

/**
 * @brief: led 初始化,默认是不点亮led
 * @param: NULL 
 * @return: NULL 
 */
void led_init(void)
{
	/**
	 * 	 PA_13  LED_R
	 * 	 PA_14  LED_G
	 * 	 PA_15  LED_B
	 */
	tls_gpio_cfg(WM_IO_PA_13, WM_GPIO_DIR_OUTPUT, WM_GPIO_ATTR_PULLHIGH);
	tls_gpio_cfg(WM_IO_PA_14, WM_GPIO_DIR_OUTPUT, WM_GPIO_ATTR_PULLHIGH);
	tls_gpio_cfg(WM_IO_PA_15, WM_GPIO_DIR_OUTPUT, WM_GPIO_ATTR_PULLHIGH);
}

下面我们写一个测试函数,因为led的引脚已经配置好了,我们只需要改变这些引脚的高低电平就可以电亮和熄灭led了。

/**
 * @brief: 测试led
 * @param: NULL 
 * @return: NULL 
 */
void led_test(void)
{
	tls_gpio_write(WM_IO_PA_13, 0);//open LED_R
	delay_ms(500);
	tls_gpio_write(WM_IO_PA_13, 1);//close LED_R
	tls_gpio_write(WM_IO_PA_14, 0);//open LED_G
	delay_ms(500);
	tls_gpio_write(WM_IO_PA_14, 1);//close LED_G
	tls_gpio_write(WM_IO_PA_15, 0);//open LED_B
	delay_ms(500);
	tls_gpio_write(WM_IO_PA_15, 1);//close LED_B
}

编译,下载。测试成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值