你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

没有PWM输出

[复制链接]
ttl_web 提问时间:2016-10-29 16:09 /
本帖最后由 ttl_web 于 2016-11-1 16:36 编辑

请教以下代码,始终无法看到PWM输出
  1. //问题:没PWM输出
  2. //TIM3产生1路PWM
  3. //stm32f103vet6

  4. #include "stm32f10x.h"
  5. void RCC_conf()
  6. {
  7.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  8.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
  9.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
  10. }
  11. void GPIO_conf()
  12. {
  13.         GPIO_InitTypeDef GPIO_InitStructure;        
  14.         
  15.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;
  16.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
  17.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  18.         GPIO_Init(GPIOC,&GPIO_InitStructure);
  19.         
  20. }
  21. void TIM3_conf() {
  22.         TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  23.         TIM_OCInitTypeDef TIM_OCInitStructure;
  24.         
  25.         GPIO_PinRemapConfig(GPIO_FullRemap_TIM3,ENABLE);
  26.         
  27.         TIM_TimeBaseStructure.TIM_Period=900-1;
  28.         TIM_TimeBaseStructure.TIM_Prescaler=0;
  29.         TIM_TimeBaseStructure.TIM_ClockDivision=0;
  30.         TIM_TimeBaseStructure.TIM_CounterMode=
  31.                 TIM_CounterMode_Up;
  32.         TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);
  33.         
  34.         TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
  35.         TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
  36.         TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
  37.         TIM_OC1Init(TIM3,&TIM_OCInitStructure);        
  38.         TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable);
  39.         
  40.         TIM_Cmd(TIM3,ENABLE);        
  41. }

  42. int main()
  43. {
  44.         //SystemInit();
  45.         RCC_conf();
  46.         GPIO_conf();
  47.         TIM3_conf();

  48.         while (1)
  49.         {
  50.                
  51.         }
  52. }
复制代码

LED原理图

LED原理图
收藏 2 评论11 发布时间:2016-10-29 16:09

举报

11个回答
andrewz 回答时间:2016-10-29 19:06:30
有个MOE位不知道LZ用了没?



st.png
peter001 回答时间:2016-10-30 03:19:56
跟踪一下,看看是不是gpio模式不对
haifeng-388081 回答时间:2016-10-30 12:12:26
用示波器看看。
samhong 回答时间:2016-10-31 00:30:34
签到,好多内容,谢谢!
jackeyt 回答时间:2016-10-31 08:54:21
你都没有给TIM3->CCR1赋值 ,当然没有东西输出了。
ttl_web 回答时间:2016-10-31 11:34:52
jackeyt 发表于 2016-10-31 08:54
你都没有给TIM3->CCR1赋值 ,当然没有东西输出了。

CREN 已使能
ttl_web 回答时间:2016-10-31 14:26:23
//已看到PWM

  1. //TIM3产生1路PWM
  2. //stm32f103vet6

  3. #include "stm32f10x.h"
  4. void RCC_conf()
  5. {
  6.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  7.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
  8.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
  9. }
  10. void GPIO_conf()
  11. {
  12.         GPIO_InitTypeDef GPIO_InitStructure;       
  13.        
  14.         GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;
  15.         GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
  16.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  17.         GPIO_Init(GPIOC,&GPIO_InitStructure);
  18.        
  19. }
  20. void TIM3_conf() {
  21.         TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
  22.         TIM_OCInitTypeDef TIM_OCInitStructure;
  23.        
  24.         GPIO_PinRemapConfig(GPIO_FullRemap_TIM3,ENABLE);
  25.        
  26.         TIM_TimeBaseStructure.TIM_Period=900-1;
  27.         TIM_TimeBaseStructure.TIM_Prescaler=0;
  28.         TIM_TimeBaseStructure.TIM_ClockDivision=0;
  29.         TIM_TimeBaseStructure.TIM_CounterMode=
  30.                 TIM_CounterMode_Up;
  31.         TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);
  32.        
  33.         TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
  34.         TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
  35.         TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
  36.         TIM_OCInitStructure.TIM_Pulse=100;
  37.         TIM_OC1Init(TIM3,&TIM_OCInitStructure);       
  38.         TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable);
  39.         TIM_ARRPreloadConfig(TIM3,ENABLE);
  40.         TIM_Cmd(TIM3,ENABLE);       
  41. }

  42. int main()
  43. {
  44.         //SystemInit();
  45.         RCC_conf();
  46.         GPIO_conf();
  47.         TIM3_conf();

  48.         while (1)
  49.         {
  50.                
  51.         }
  52. }
复制代码
ttl_web 回答时间:2016-10-31 14:28:06
jackeyt 发表于 2016-10-31 08:54
你都没有给TIM3->CCR1赋值 ,当然没有东西输出了。

谢谢点拨
xhzheng 回答时间:2016-10-31 16:59:02
限流电阻太大了吧,即使有,也看不清楚;
直接短路1K电阻看看,可以直接驱动LED的;

12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版