用CUBEMX来点个灯

2019-07-20 22:28发布

最近买个F429IDISCO,也学人家来点个灯,呵呵! 先启动CUBEMX来创建个工程,如下图所示  然后配置RCC及TIM来启动PWM配置,配置参数如下  再来,配置时钟频率及APB1的分频系统,见图  将TIM3的PWM频率设置为1KHZ,配置参数如下  好了,现在可以保存项目并生成源代码文件了。 点击生成源代码按钮  至于生成MDK还是IAR类型的项目,依个人情况而定,这里用的是MDK项目类型。生成源代码之后,会提示打开项目。  好了,程序主体已成功生成了,原来编程也可以如此容易!! CUBEMX只会给你生成程序框架,具体要做什么工作还得由你来定。 我的目标是让TIM3的CH1通道生成PWM信号,所以下面添加源代码,框架里都有注释,告诉你在哪里添加自己的代码。 下面是在main.c里面添加的两块代码。 添加的第一部分代码: [mw_shl_code=c,true]/* USER CODE BEGIN 2 */ HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1); /* USER CODE END 2 */ [/mw_shl_code]
添加的第二部分代码: [mw_shl_code=c,true]/* 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 */[/mw_shl_code]
好了,下载到F429上,就会看到连接到PA6上的LED灯开始呼吸了!为什么是连接到PA6的LED灯呢,因为TIM3的CH1是连接到PA6

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。