银杏科技有限公司旗下技术文档发布平台 | |||
技术支持电话 | 0379-69926675-801 | ||
技术支持邮件 | Gingko@vip.163.com | ||
版本 | 日期 | 作者 | 修改内容 |
---|---|---|---|
V1.0 | 2020-04-13 | gingko | 初次建立 |
1. 新建工程:在主界面选择File–>New Project 或者直接点击ACCEE TO MCU SELECTOR
2. 出现芯片型号选择,搜索自己芯片的型号,双击型号,或者点击Start Project进入配置
在搜索栏的下面,提供的各种查找方式,可以选择芯片内核、型号等等,可以帮助你查找芯片。本实验选取的芯片型号为:STM32F407IGTx。
3. 配置RCC,使用外部时钟源
4. 配置调试引脚
5. 设置定时器
6. 引脚模式配置
7. 时钟源设置,选择外部高速时钟源,配置为最大主频
8. 工程文件的设置, 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 IDE我们使用的是 MDK5
9. 点击Code Generator,进行进一步配置
自行选择方式即可
10. 然后点击GENERATE CODE 创建工程
创建成功,打开工程。
PWM工作步骤解析:
1、CCR1捕获比较值寄存器设置比较值,将其与当前值寄存器的值比较,要说明的是修改TIM_CCMR1寄存器的OC1M[2:0]位可控制 PWM模式,方法如下:
2、经过输出控制器后,得到OC1ref电平还要经过一个选择,其由TIMx_CCRE寄存器的CC1P位控制:输入/捕获1输出极性。0:高 电平有效。1:低电平有效。
3、选择完成后经过输出电路来输出,输出电路由TIM_xCCRE寄存器的CC1E位控制。
int main(void) { uint16_t dutyCycle = 0; HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_TIM8_Init(); HAL_TIM_PWM_Start(&htim8,TIM_CHANNEL_1); //开启定时器通道8输出PWM方波。 while (1) //红色LED灯循环由亮变暗,由暗变亮 { while (dutyCycle < 300) { dutyCycle ++; __HAL_TIM_SET_COMPARE(&htim8, TIM_CHANNEL_1, dutyCycle); //修改比较值,修改占空比 HAL_Delay(5); } while (dutyCycle) { dutyCycle --; __HAL_TIM_SET_COMPARE(&htim8, TIM_CHANNEL_1, dutyCycle); //修改比较值,修改占空比 HAL_Delay(5); } HAL_Delay(50); } }