配置STM32的PWM输出时没有波形输出的问题

发布者:程序界的行者最新更新时间:2018-12-25 来源: eefocus关键字:STM32  PWM输出  波形输出 手机看文章 扫描二维码
随时随地手机看文章

以前在组织代码的时侯都是在初始化系统时钟时就一并初始化了各个外设,如 端口、定时器、串口等,


今天突发奇想,将各外设的初始化放到各外设的模块中去,这样的话没用到的外设就可以不用给时钟,降低能耗。


就这样问题出现了,PWM输出时没有波形输出。


反复检查对比了定时器的功能模块配置、输出IO的设置、RCC配置等,一直没有找到原因。


在准备放弃的时侯,有一搭没一搭的扫代码,突然一看,在设置输出IO代码之前没有给输出IO配置时钟,是在后配置的。


是不是这里的问题呢, 马上试试,果然。


这一记当头棒喝!!  :)


 


所以,  在配置输出IO之前就要先配置IO时钟,谨记之!


关键字:STM32  PWM输出  波形输出 引用地址:配置STM32的PWM输出时没有波形输出的问题

上一篇:stm32使用PWM波中断的方式精确的控制波的个数
下一篇:使用STM32F103实验和总结PWM相关知识

推荐阅读最新更新时间:2024-03-16 16:21

STM32 F0:演绎MCU领域的物种进化论
“今天我们主要谈一谈遗传方面的东西。”若听到意法半导体的微控制器全球市场部总监Daniel Colonna的嘴里说出这句话,定是觉得一头雾水。没错,在意法半导体5月15日举办的新品发布会上谈论的就是这个话题。主角就是意法半导体要隆重推出的针对低端应用的STM32 F0系列入门型微控制器,那这又跟遗传学扯上什么关系了呢? 意法半导体的STM32家族又添新军,8位微控制器的终结者STM32 F0系列微控制器,基于超低功耗的ARM Cortex-M0架构,以彻底消除8/16位在应用上的局限性和性能差距为终极目标,可简化家电和工业控制应用开发任务。更重要的是,STM32 F0不仅仅是填补了STM32在低端应用领域的空缺,更是ST
[单片机]
<font color='red'>STM32</font> F0:演绎MCU领域的物种进化论
STM32 HAL库DMA串口使用问题集锦
开发小白用stm32开发时遇到的问题记录 1.问题描述:使用HAL_UART_Receive_DMA进行接收时,经常接收不到信息 处理过程: 经查阅资料发现对于DMA串口,每个串口都有其对应的通道,查询后更改串口通道。 由于使用NUCLEO开发板进行调试,调试过程中发现使用的串口未被引到对应的排针上,而是接到板上自带的STLINK的串口上。 串口极其不稳定,有时能收到有时不能收到,但是另外一发送模块确实是发出来了,经打中断发现经常会出现溢出错误,调试了半天都不行,极其苦恼,后灵光一闪,在使用HAL_UART_Receive_DMA函数接收之前利用HAL_UART_Init函数再次对串口进行初始化,之后发现可以接
[单片机]
STM32中对Key_GPIO_Config()函数的理解之轮询控制按键LED
STM32中对Key_GPIO_Config()函数的理解(自定义)
[单片机]
<font color='red'>STM32</font>中对Key_GPIO_Config()函数的理解之轮询控制按键LED
STM32串口接收字符串并控制LED
串口相关配置 GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
[单片机]
<font color='red'>STM32</font>串口接收字符串并控制LED
STM32的ADC转换最常见的方式
这里的ADC转换也来使用DMA---这个也是STM32的ADC转换最常见的方式。 第一步是了解STM32的ADC对应的GPIO口如下图不用记住,可以查询,我是将它剪下来粘贴到书本的相应章节! 第二步是配置相应ADC转换的GPIO口这里使用PC0--PC1 static void ADC1_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); //打开DMA1的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 “ RCC_A
[单片机]
STM32——按键输入之static
Static申明的局部变量,存储在静态存储区。 它在函数调用结束之后,不会被释放。它的值会一直保留下来。 所以可以说static申明的局部变量,具有记忆功能。 按键扫描(支持连续按)的一般思路 u8 KEY_Scan(void) { if(KEY按下) { delay_ms(10);//延时10-20ms,防抖。 if(KEY确实按下) { return KEY_Value; } return;// 无效值 } } 按键扫描(不支持连续按)的一般思路 u8 KEY_Scan(void) { static u8 ke
[单片机]
STM32中flash的读写详解
一:对STM32内部FLASH写进行编程操作,需要遵循以下流程:   1.FLASH解锁   2.清除相关标志位   3.擦除FLASH(先擦除后写入的原因是为了工业上制作方便,即物理实现方便)   4.写入FLASH   5.锁定FLASH (1)获取状态:FLASH_Status FLASH_GetStatus(void); 返回值是通过枚举类型定义的。 typedef enum { FLASH_BUSY = 1, //忙 FLASH_ERROR_PG, //编程错误 FLASH_ERROR_WRP, //写保护错误 FLASH_COMPLETE, //操作完成 FLASH_TIMEOUT /
[单片机]
STM32 printf半主机模式
看了原子哥的usart部分printf函数重定向的问题,自己动手试了试, 单片机 可以通过串口打印信息,printf函数重定向后使用十分方便。 所谓重定向是指修改printf的底层函数,使printf打印到单片机的外设中。 还有一个概念是半主机。 半主机是用于 ARM 目标的一种机制,可将来自应用程序代码的输入/输出请求传送至运行调试器的主机。 例如,使用此机制可以启用 C 库中的函数,如 printf() 和 scanf(),来使用主机的屏幕和键盘,而不是在目标系统上配备屏幕和键盘。 这种机制很有用,因为开发时使用的硬件通常没有最终系统的所有输入和输出设备。 半主机可让主机来提供这些设备。 半主机是通过一组定义好
[单片机]
<font color='red'>STM32</font> printf半主机模式
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved