完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
新手,为什么STM32f429就是不能输出pwm波形 ,检查了好多遍就是找不到问题,怎么办 ?? 是我配置出问题了吗??代码如下,有大神能指教一下吗,
GPIO_InitTypeDef GPIO_InitStructure; tiM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_AHB1PeriphClockCmd ( RCC_AHB1Periph_GPIOA, ENABLE); RCC_AHB1PeriphClockCmd ( RCC_APB1Periph_TIM2, ENABLE); /* */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_PinAFConfig(GPIOA,GPIO_PinSource0,GPIO_AF_TIM2); GPIO_PinAFConfig(GPIOA,GPIO_PinSource1,GPIO_AF_TIM2); GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_TIM2); GPIO_PinAFConfig(GPIOA,GPIO_PinSource3,GPIO_AF_TIM2); TIM_TimeBaseStructure.TIM_Period = (1000000-1); //µ±¶¨Ê±Æ÷´Ó0¼ÆÊýµ½ TIM_Period+1 £¬ÎªÒ»¸ö¶¨Ê±ÖÜÆÚ TIM_TimeBaseStructure.TIM_Prescaler = 17; //ÉèÖÃÔ¤·ÖƵ TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ; //ÉèÖÃʱÖÓ·ÖƵϵÊý£º²»·ÖƵ(ÕâÀïÓò»µ½) TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //ÏòÉϼÆÊýģʽ // ³õʼ»¯¶¨Ê±Æ÷TIMx, x[2,3,4,5] TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); /*PWMģʽÅäÖÃ*/ /* PWM1 Mode configuration: Channel1 */ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //ÅäÖÃΪPWMģʽ1 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //ʹÄÜÊä³ö TIM_OCInitStructure.TIM_Pulse = 0; //ÉèÖóõʼPWMÂö³å¿í¶ÈΪ0 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //µ±¶¨Ê±Æ÷¼ÆÊýֵСÓÚCCR1_ValʱΪµÍµçƽ LEDµÆÁÁ //ʹÄÜͨµÀ1 TIM_OC1Init(TIM2, &TIM_OCInitStructure); /*ʹÄÜͨµÀÖØÔØ*/ TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Enable); //ʹÄÜͨµÀ2 TIM_OC2Init(TIM2, &TIM_OCInitStructure); /*ʹÄÜͨµÀÖØÔØ*/ TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Enable); //ʹÄÜͨµÀ3 TIM_OC3Init(TIM2, &TIM_OCInitStructure); /*ʹÄÜͨµÀÖØÔØ*/ TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable); //ʹÄÜͨµÀ4 TIM_OC4Init(TIM2, &TIM_OCInitStructure); /*ʹÄÜͨµÀÖØÔØ*/ TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_CtrlPWMOutputs(TIM2, ENABLE); // ¿ªÆô¼ÆÊýÆ÷ÖÐ¶Ï //TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); // ʹÄܼÆÊýÆ÷ TIM_Cmd(TIM2, ENABLE); |
|
相关推荐
6个回答
|
|
各位大神帮忙看一下,真的很感谢,检查了好久都找不出问题
|
|
|
|
中断函数有吗~最好把文件都发出来看看~
|
|
|
|
机器人工作者 发表于 2017-6-14 22:58 没有用到中断,这段代码只是通用定时器输出四路pwm波的初始化,但是我用示波器根本检测不到波形,检查了好久都没查出问题,你帮我看看这段代码的初始化配置哪里不对,万分感谢 |
|
|
|
|
|
|
|
你的回调函数呢?
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
967 浏览 1 评论
使用stm32l451片子,对ad7606进行3通道100k采样值跳动问题?
1427 浏览 1 评论
STM32进行DMA数据转运,为什么只有A组最后一位数据被转运到B组去?
1875 浏览 2 评论
2171 浏览 3 评论
1762 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-4 11:29 , Processed in 1.610358 second(s), Total 54, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191