用STM32F103输出一路PWM波形,并观察其输出波形
代码下载
博主是在正点原子下载的源代码,PWM示例
正点原子官网
keil的仿真前设置
点开原工程上的start debug
下面是PWM的main.c主函数
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
int main(void)
{
u16 led0pwmval=0;
u8 dir=1;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
TIM3_PWM_Init(899,0); //不分频。PWM频率=72000000/900=80Khz
while(1)
{
delay_ms(10);
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare2(TIM3,led0pwmval);
}
}
仿真的运行
点击run
就会看到生成的波形图
下面是在示波器上输出的波形图
总结
本次让我了解了对于stm32f103输出PWM波形的查看,以及一些keil5的设置与仿真。