最近买个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
一周热门 更多>