STM32 C8T6控制 3色-LED模块 顺序闪烁

提示:以下是本篇文章正文内容,下面案例可供参考

一、实现步骤:

通过R、G、B三个引脚的电平高低可以调节三种基色(红/蓝/绿)的量灭–从而实现LED顺序闪烁

二、程序如下:

3_RGB_LED.C

#include "stm32f10x.h"                  // Device header
#include "3_RGB_LED.h"

void RGB_3_LED_Init(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启GPIOA时钟
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);
}

3_RGB_LED.h文件

#ifndef __3_RGB_LED_H
#define __3_RGB_LED_H

#define GPIO_GREEN_High GPIO_SetBits(GPIOA,GPIO_Pin_1);//绿灯高电平
#define GPIO_GREEN_LOW  GPIO_ResetBits(GPIOA,GPIO_Pin_1)//绿灯低电平

#define GPIO_Blue_High  GPIO_SetBits(GPIOA,GPIO_Pin_2)//蓝灯高电平
#define GPIO_Blue_LOW   GPIO_ResetBits(GPIOA,GPIO_Pin_2)//蓝灯低电平

#define GPIO_Red_High   GPIO_SetBits(GPIOA,GPIO_Pin_3)//红灯高电平
#define GPIO_Red_LOW    GPIO_ResetBits(GPIOA,GPIO_Pin_3)//红灯低电平

void RGB_3_LED_Init(void);

#endif

main.c文件

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "3_RGB_LED.h"
int main(void)
{
	RGB_3_LED_Init();
	while (1)
	{
		GPIO_GREEN_High;//置高电平
		Delay_ms(1000);//延时1s
		GPIO_GREEN_LOW;//置低电平
		GPIO_Blue_High;
		Delay_ms(1000);
		GPIO_Blue_LOW;
		GPIO_Red_High;
		Delay_ms(1000);
		GPIO_Red_LOW;
	}
}


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了3色LED的使用,也可通过R、G、B三个引脚的PWM电压输入可以调节三种基色(红/蓝/绿)的强度从而实现全彩的混色效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值