历史上的今天
今天是:2024年09月12日(星期四)
2019年09月12日 | 秉火429笔记之五控制RGB彩灯
2019-09-12 来源:eefocus
1. RGB彩灯混色
RGB彩灯实际上由三盏分别为红、绿、蓝的LED灯组成的,通过控制RGB颜色强度的组合,可以混合出各种彩色。
/* 基本混色*/
// LED1(R)/ LED2(G)/ LED3(B)
//红
#define LED_RED
LED1_ON;
LED2_OFF;
LED3_OFF
//绿
#define LED_GREEN
LED1_OFF;
LED2_ON;
LED3_OFF
//蓝
#define LED_BLUE
LED1_OFF;
LED2_OFF;
LED3_ON
//黄(红+绿)
#define LED_YELLOW
LED1_ON;
LED2_ON;
LED3_OFF
//紫(红+蓝)
#define LED_PURPLE
LED1_ON;
LED2_OFF;
LED3_ON
//青(绿+蓝)
#define LED_CYAN
LED1_OFF;
LED2_ON;
LED3_ON
//白(红+绿+蓝)
#define LED_WHITE
LED1_ON;
LED2_ON;
LED3_ON
//黑(全部关闭)
#define LED_RGBOFF
LED1_OFF;
LED2_OFF;
LED3_OFF
2. 控制流程
初始化系统时钟
初始化相应GPIO时钟
配置GPIO
根据需要亮灯
3. 断言
stm32f4xx_conf.h文件中关于断言的定义
/* Uncomment the line below to expanse the "assert_param" macro in the
Standard Peripheral Library drivers code */
/* #define USE_FULL_ASSERT 1 */
/* Exported macro ------------------------------------------------------------*/
#ifdef USE_FULL_ASSERT
/**
* @brief The assert_param macro is used for function's parameters check.
* @param expr: If expr is false, it calls assert_failed function
* which reports the name of the source file and the source
* line number of the call that failed.
* If expr is true, it returns no value.
* @retval None
*/
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
/* Exported functions ------------------------------------------------------- */
void assert_failed(uint8_t* file, uint32_t line);
#else
#define assert_param(expr) ((void)0)
#endif /* USE_FULL_ASSERT */
库文件只对“assert_failed”写了函数声明,没有写函数定义,实际用时需要用户来定义,我们一般会用printf函数来输出这些信息。(注:前提需要支持printf)
4. Doxygen注释
“Doxygen”的注释规范,如果在工程文件中按照这种规范去注释,可以使用Doxygen软件自动根据注释生成帮助文档。
史海拾趣
|
去年的这个时候,我们专利之家曾经为大家介绍过一款“透明键盘的滑盖手机”,但当时这还只是一个概念设计。如今,韩国LG电子将它变成了现实。 在西班牙巴塞罗那举行的移动世界大会上,LG发布了这款名为GD900的手机。该手机采用滑盖设计,键盘部分 ...… 查看全部问答> |
|
喷气式摩托车 这是一款未来感极强的摩托车设计,这样的摩托车只在科幻片里见过。外形酷的无话可说,不对称的设计也为摩托车增色不少。据介绍,这款摩托车是由喷气驱动,原理就像喷气式飞机一样。摩托车后方的喷气发动机提供强劲马力。 这 ...… 查看全部问答> |
|
AD转换的速率是200kps时钟是3M,单片机是用用串口与计算机相连的,但我用115200的波特率接收是能收到正确数据,但波特率设置为9600的时候收到的却是乱码,有哪位大虾能告诉我这是什么原因吗,万分感谢。… 查看全部问答> |
|
我是一名女生,想去参加大机培训,不知道到底参加不啊?很是迷茫,众说纷纭,真的不知道怎么办啦。培训班的首付是7000,总费用是16000,工作以后可以付清全部的费用。到底值得去不啊… 查看全部问答> |
|
我用的是TQ2440开发板 想让开发板与PC进行USB连接时,被PC识别为网卡,应该在PB5.0下给系统镜像添加哪些特性? 是不是只要添加 USB FUNCTION BUS DRIVERS这个从设备驱动 和USB FUNCTION CLIENTS 下的RNDIS CLIENT 这个 ...… 查看全部问答> |
|
现在准备做WINCE 的应用开发,但我只有C/C++的一点基础,我在看EVC的程序时,一点也不懂,像WINCLASS什么窗口类一点也看不明白,就连最简单的HELLO程序在EVC中也是好长的代码,我现在不知如何是好,现在大四快毕业了,我想毕业找一份嵌入式系统的工作,可是 ...… 查看全部问答> |
|
我是在大学学的软件工程,如今都上大三了,才对软件有所了解,之前一直没有方向,在我上大学之前我就准备考研了,可是我专业课不怎么好,我打算下学期就开始复习准备考研,但是我感觉我在专业课上没有学到东西,没有方向,没有精通的技术。我感觉嵌 ...… 查看全部问答> |




