这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » [经验]使用CubMX和Proteus学习STM32单片机(六)------PW

共17条 1/2 1 2 跳转至

[经验]使用CubMX和Proteus学习STM32单片机(六)------PWM波形产生

工程师
2021-09-15 19:00:33     打赏
项目简介        利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第六部分针对STM32单片机内置tiM模块的PWM波形产生的学习和理解。
硬件模块        STM32F103R4
        示波器
软件工具        CubMX
        Proteus
        KEIL
电路连接图        
工作流程        首先,在CubMX种设置号一些参数,选择TIM1定时器,按下图设置好工作模式。输出PWM的引脚是PB15引脚。

然后再按下图设置好预分频和计数值

最好设置好占空比,占空比=Pulse/Per,比如想要设置占空比为20%,而上面设置了计数值为1000,那么按照这个占空比,就照下图设置好Pulse为200即可。

然后生成工程。
增加输出PWM的代码。

出现问题了,上网查了一下好像是超出了单片机内部的资源。网上推荐的方法是直接换一个型号的32单片机,但是我不想用这种方法,后来我删掉一行有浮点运算的printf函数就可以了,可能是printf用的太多了,太占内存。可以运行了,但是一开始还是没有PWM波形输出,于是我换了个通道,如下图。


Prescaler:分频值,可以设置为0
Counter Mode:计数模式
Counter Period:自动装载值
Auto-reload preload:使能自动装载功能


Mode:PWM波模式
Pulse:计数比较值
CH Polarity:输出极性
输出的结果如下图,这是20%的

然后改变占空比为50%

输出波形

至此,PWM模块完成。
程序代码        mian.c
int main(void){  /* MCU Configuration--------------------------------------------------------*/  /* Reset of all peripherals, Initializes the Flash inteRFace and the Systick. */  HAL_Init();  /* USER CODE BEGIN Init */  /* USER CODE END Init */  /* Configure the system clock */  SystemClock_Config();  /* USER CODE BEGIN SysInit */  /* USER CODE END SysInit */  /* Initialize all configured peripherals */  MX_GPIO_Init();//  MX_ADC1_Init(); // MX_USART1_UART_Init();  MX_TIM1_Init();  /* USER CODE BEGIN 2 */  /* USER CODE END 2 */  /* Infinite loop */  /* USER CODE BEGIN WHILE */;        HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);//开启PWM波形输出        __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 500); //改变占空比,500/1000=50%  while(1)  {    /* USER CODE END WHILE */            /* USER CODE BEGIN 3 */  }  /* USER CODE END 3 */}
结语本文大部分内容都属于原创,如需转载,请附上本文网站,
如果需要相关的仿真图、程序代码等资料可以直接私信我,我会及时回复。





关键词: 使用     CubMX     Proteus     学习     STM32    

工程师
2021-09-15 23:41:17     打赏
2楼

学到经验了


工程师
2021-09-20 23:40:42     打赏
3楼

学到经验了


专家
2021-10-19 08:08:55     打赏
4楼

学习了,谢谢分享


专家
2021-10-19 08:15:33     打赏
5楼

来看看


专家
2021-10-19 08:20:18     打赏
6楼

感谢分享


专家
2021-10-19 08:29:32     打赏
7楼

谢谢分享


专家
2021-10-19 08:30:59     打赏
8楼

谢谢分享


院士
2021-10-19 08:32:00     打赏
9楼

感谢分享


专家
2021-10-25 08:53:41     打赏
10楼

感谢分享


共17条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]