打印
[开发工具]

用cubemx控制LED灯

[复制链接]
881|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里面添加的两块代码。

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

          

          HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);

         

          /* USER CODE END 2 */

添加的第二部分代码:
/* USER CODE BEGIN 4 */
void HAL_SYSTICK_Callback(void)
{
  static volatile int16_t duty = 0;
  static volatile int8_t step;
  
  if(duty == 0)
   step = 1;
  
  if(duty == 499)
   step = -1;
  
  duty += step;
  
  TIM3->CCR1 = duty;
  
}
/* USER CODE END 4 */

使用特权

评论回复
板凳
芙蓉洞|  楼主 | 2015-9-21 10:20 | 只看该作者
好了,下载到F429上,就会看到连接到PA6上的LED灯开始呼吸了!为什么是连接到PA6的LED灯呢,因为TIM3的CH1是连接到PA6

               

                                                                                     

使用特权

评论回复
地板
mmuuss586| | 2015-9-21 12:36 | 只看该作者

不错,好好努力;

使用特权

评论回复
5
fanxsd| | 2015-9-21 13:35 | 只看该作者
这还玩 面包板!

使用特权

评论回复
6
amanda_s| | 2015-9-23 16:11 | 只看该作者
不错不错!:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

398

帖子

3

粉丝