[开发工具] 用cubemx控制LED灯

[复制链接]
1234|5
 楼主| 芙蓉洞 发表于 2015-9-21 10:18 | 显示全部楼层 |阅读模式
        最近买个F429IDISCO,也学人家来点个灯,呵呵!
        先启动CUBEMX来创建个工程,如下图所示
       
        然后配置RCC及TIM来启动PWM配置,配置参数如下
       
        再来,配置时钟频率及APB1的分频系统,见图
       
        将TIM3的PWM频率设置为1KHZ,配置参数如下
       
        好了,现在可以保存项目并生成源代码文件了。
        点击生成源代码按钮
       
        至于生成MDK还是IAR类型的项目,依个人情况而定,这里用的是MDK项目类型。生成源代码之后,会提示打开项目。
       
        好了,程序主体已成功生成了,原来编程也可以如此容易!!
        CUBEMX只会给你生成程序框架,具体要做什么工作还得由你来定。
        我的目标是让TIM3的CH1通道生成PWM信号,所以下面添加源代码,框架里都有注释,告诉你在哪里添加自己的代码。

 楼主| 芙蓉洞 发表于 2015-9-21 10:20 | 显示全部楼层
下面是在main.c里面添加的两块代码。

添加的第一部分代码:
  1. /* USER CODE BEGIN 2 */

  2.           

  3.           HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);

  4.          

  5.           /* USER CODE END 2 */

添加的第二部分代码:
  1. /* USER CODE BEGIN 4 */
  2. void HAL_SYSTICK_Callback(void)
  3. {
  4.   static volatile int16_t duty = 0;
  5.   static volatile int8_t step;
  6.   
  7.   if(duty == 0)
  8.    step = 1;
  9.   
  10.   if(duty == 499)
  11.    step = -1;
  12.   
  13.   duty += step;
  14.   
  15.   TIM3->CCR1 = duty;
  16.   
  17. }
  18. /* USER CODE END 4 */
 楼主| 芙蓉洞 发表于 2015-9-21 10:20 | 显示全部楼层
好了,下载到F429上,就会看到连接到PA6上的LED灯开始呼吸了!为什么是连接到PA6的LED灯呢,因为TIM3的CH1是连接到PA6

               

                                                                                     
mmuuss586 发表于 2015-9-21 12:36 | 显示全部楼层

不错,好好努力;
fanxsd 发表于 2015-9-21 13:35 | 显示全部楼层
这还玩 面包板!
amanda_s 发表于 2015-9-23 16:11 | 显示全部楼层
不错不错!:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

398

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部