你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407控制RGB灯

[复制链接]
STMCU小助手 发布时间:2021-7-23 15:20
RGB,即Red、Green、Blue 3种颜色的灯,根据亮度不同、颜色的混合,最多可以实现256种颜色。


STM32中需要自己动手编程的文件主要是C文件、头文件和main主函数。


1、C文件的程序
C文件中存放的是源程序文件,以我个人对C文件程序的理解是,它就像是一个生产零件的工厂,在这里我们会写下各种函数,就相当于生产出各种零件,每种零件都有自己的作用,即每个函数都有自己的作用,把这些零件组装起来就是成品,而我们把这些函数在main函数程序中组装起来,就可以实现我们想要的功能。


void LED_GPIO_Config(void) //自己写个函数名,能看出来这个函数是干嘛的
  1. <font face="Arial" size="3"> GPIO_InitTypeDef GPIO_InitStructure;              //定义GPIO结构体,这个结构体在固件库中已经写好

  2.         RCC_AHB1PeriphClockCmd(LED1_GPIO_CLK|LED2_GPIO_CLK|LED3_GPIO_CLK, ENABLE); //打开3个灯的GPIO时钟
  3.                                                                                                           
  4.         GPIO_InitStructure.GPIO_Pin = LED1_PIN;                  //LED1的引脚,即红灯的引脚
  5.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;     //输出模式
  6.     GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;    //输出类型为推挽输出
  7.     GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;      //配置为电阻上拉
  8.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;  //输出速度为2MHz
  9.     GPIO_Init(LED1_GPIO_PORT, &GPIO_InitStructure);          //把以上配置好的参数写进寄存器里,这就是调用固件
  10.                                                       //库函数色好处,不用操作最底层的寄存器
  11.                                                                                                                   
  12.         GPIO_InitStructure.GPIO_Pin = LED2_PIN;                  //前面的配置都不变,只需要改下引脚,这个是绿灯
  13.     GPIO_Init(LED2_GPIO_PORT, &GPIO_InitStructure);   //把以上配置好的参数写进寄存器里
  14.                                                                                                                   
  15.         GPIO_InitStructure.GPIO_Pin = LED3_PIN;                  //前面的配置都不变,只需要改下引脚,这个是蓝灯
  16.     GPIO_Init(LED3_GPIO_PORT, &GPIO_InitStructure);          //把以上配置好的参数写进寄存器里
  17. </font>
复制代码

2、头文件里
头文件里放的是各种函数名字,就比如上述C文件的函数名void LED_GPIO_Config(void) 就需要放到头文件里进行声明,以便调用。
我想强调的是,一般写程序都是把关于硬件的部分(引脚)进行宏定义操作,这样会很方便程序移植,如下图:这些一般都是在头文件里写的。

1.png


3、main主函数
它就像是组装函数的车间,把我们在C文件里写的函数名字在这调用就可以了,只是名字哦。

  1. <font face="Arial" size="3">                                                                                  Jhw  2020.3.6</font>
复制代码





收藏 评论0 发布时间:2021-7-23 15:20

举报

0个回答

所属标签

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版