历史上的今天
返回首页

历史上的今天

今天是: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软件自动根据注释生成帮助文档。

推荐阅读

史海拾趣

Gem Asia Enterprise Co Ltd公司的发展小趣事

随着全球对环保问题的日益关注,Gem Asia积极响应号召,将环保理念融入企业发展中。公司投入大量资源研发绿色电子产品和生产工艺,减少了对环境的影响。同时,Gem Asia还建立了完善的废旧电子产品回收体系,实现了资源的循环利用。这些举措不仅提升了企业的社会形象,还为企业带来了长期的经济效益和社会效益。

DB Lectro Inc公司的发展小趣事

为了进一步扩大市场份额,DB Lectro Inc积极寻求与国际知名企业的合作。通过与多家国际公司的技术交流和合作,公司成功地将自身的气体检测技术应用于更多领域,如天然气开采、食品饮料生产等。同时,公司还积极参与国际展览和交流活动,展示了其先进的技术和产品,赢得了国际市场的广泛认可。

华宇创公司的发展小趣事

在21世纪初,电子科技正处于蓬勃发展的时期。李华,一位在电子行业摸爬滚打多年的工程师,决定创立自己的公司——华宇创,专注于智能电子设备的研发和生产。创业初期,华宇创面临着资金短缺、技术瓶颈等诸多挑战。然而,李华凭借对技术的热情和坚定的信念,带领团队日夜兼程地研发新产品,最终成功推出了首款具有竞争力的智能手环,获得了市场的初步认可。

Digitron公司的发展小趣事

为了进一步扩大市场份额,Digitron公司积极寻求与行业内外的企业建立战略合作关系。XXXX年,Digitron公司与一家全球知名的物流公司达成合作协议,为其提供定制化的温度监控解决方案。这一合作不仅为Digitron公司带来了可观的收入,还提高了其在物流行业的知名度。此外,Digitron公司还积极参加国际展会和论坛,与全球客户建立联系,拓展国际市场。

Harris公司的发展小趣事

进入21世纪后,Hammond进行了内部重组,将变压器事业部分拆为独立的Hammond Power Solutions, Inc.(HPSI)。这一举措使得两家公司能够更加专注于各自的核心业务,实现更加高效和专业化的发展。Hammond Manufacturing则继续专注于电气和电子外壳、机架、机柜以及电子变压器的生产,而HPSI则专注于定制和分类变压器的制造。这种专业化的分工不仅增强了各自的市场竞争力,还为客户提供了更加全面和专业的服务。

通过这些故事,我们可以看到Hammond公司在电子行业中的发展历程充满了挑战与机遇。从初创时期的艰难起步,到成为行业先驱和全球领先企业,Hammond始终保持着对市场的敏锐洞察和持续创新的精神。

Allied Wire & Cable Inc公司的发展小趣事

Allied公司深知客户是公司发展的核心动力。因此,公司始终将客户服务放在首位,为客户提供全方位、个性化的服务支持。无论是产品咨询、技术支持还是售后服务,Allied公司都力求做到最好,赢得了客户的信任和好评。同时,公司还积极与合作伙伴建立长期稳定的合作关系,共同开拓市场,实现互利共赢。

问答坊 | AI 解惑

谢谢

哪位有Embedded Workbench软件啊…

查看全部问答>

给大家欣赏一下:LG透明手机

去年的这个时候,我们专利之家曾经为大家介绍过一款“透明键盘的滑盖手机”,但当时这还只是一个概念设计。如今,韩国LG电子将它变成了现实。 在西班牙巴塞罗那举行的移动世界大会上,LG发布了这款名为GD900的手机。该手机采用滑盖设计,键盘部分 ...…

查看全部问答>

atmel AVr cv编译软件(嵌入式c编程与atmel avr)

用的是atmel的avr单片机    用cv编译软件…

查看全部问答>

两款来自2025年的车

喷气式摩托车   这是一款未来感极强的摩托车设计,这样的摩托车只在科幻片里见过。外形酷的无话可说,不对称的设计也为摩托车增色不少。据介绍,这款摩托车是由喷气驱动,原理就像喷气式飞机一样。摩托车后方的喷气发动机提供强劲马力。 这 ...…

查看全部问答>

请教8051f中AD转换问题

        AD转换的速率是200kps时钟是3M,单片机是用用串口与计算机相连的,但我用115200的波特率接收是能收到正确数据,但波特率设置为9600的时候收到的却是乱码,有哪位大虾能告诉我这是什么原因吗,万分感谢。…

查看全部问答>

我该去大机培训嘛,迷茫啊

我是一名女生,想去参加大机培训,不知道到底参加不啊?很是迷茫,众说纷纭,真的不知道怎么办啦。培训班的首付是7000,总费用是16000,工作以后可以付清全部的费用。到底值得去不啊…

查看全部问答>

关于WINCE系统定制的问题

我用的是TQ2440开发板   想让开发板与PC进行USB连接时,被PC识别为网卡,应该在PB5.0下给系统镜像添加哪些特性?    是不是只要添加 USB FUNCTION BUS DRIVERS这个从设备驱动 和USB FUNCTION CLIENTS 下的RNDIS CLIENT 这个 ...…

查看全部问答>

请问如何学习EVC中的编程

现在准备做WINCE 的应用开发,但我只有C/C++的一点基础,我在看EVC的程序时,一点也不懂,像WINCLASS什么窗口类一点也看不明白,就连最简单的HELLO程序在EVC中也是好长的代码,我现在不知如何是好,现在大四快毕业了,我想毕业找一份嵌入式系统的工作,可是 ...…

查看全部问答>

恳求解答我的困惑——嵌入式与软件工程的关系

我是在大学学的软件工程,如今都上大三了,才对软件有所了解,之前一直没有方向,在我上大学之前我就准备考研了,可是我专业课不怎么好,我打算下学期就开始复习准备考研,但是我感觉我在专业课上没有学到东西,没有方向,没有精通的技术。我感觉嵌 ...…

查看全部问答>