完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
tiM1输出PWM时必须有TIM_CtrlPWMOutputs(TIM1, ENABLE);,而TIM3不用这条指令就可以直接输出PWM,并且TIM_CtrlPWMOutputs(TIM3, DISABLE);还关闭不了PWM输出,请问这是为什么呢?
|
|
相关推荐
13个回答
|
|
我用库不一样 。 我的建议是楼主可以在看看库函数的代码 然后再看看 寄存器
|
|
|
|
void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState) { /* Check the parameters */ assert_param(IS_TIM_LIST2_PERIPH(TIMx)); assert_param(IS_FUNCTIONAL_STATE(NewState)); if (NewState != DISABLE) { /* Enable the TIM Main Output */ TIMx->BDTR |= TIM_BDTR_MOE; } else { /* Disable the TIM Main Output */ TIMx->BDTR &= (uint16_t)(~((uint16_t)TIM_BDTR_MOE)); } } |
|
|
|
光摄微针 发表于 2018-10-2 06:29 C:Documents and SettingsAdministrator桌面 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
这个手册肯定是有描述的。至于库函数的注释肯定也说明了。 如果你使能了参数检查:【STM32F303开发】+库函数参数检查 ,程序就会检测到你调用的参数错误了,这个在各个系列的库里都有参数检测,可能命名不太一样。 |
|
|
|
先把文档研究透先,2个TIMER还是不一样的,TIM3是最简单的不涉及到互补驱动,如果只是简单的PWM驱动就不要用TIM1,TIM1很繁琐。至于你说的TIM3无法关断PWM,好像TIM3真没MOE这个位,你可以尝试改变CCR的值来ENABLE和DISABLE,我经常这样干
|
|
|
|
这么奇怪?
|
|
|
|
找个例程看看,这里能帮到你的人不多。
|
|
|
|
亲爱的娜娜 发表于 2018-10-2 07:42 您讲的真详细,看的太透彻了,谢谢啦 |
|
|
|
pol666 发表于 2018-10-2 08:02 恩,你说的不错,确实可以 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2136 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1970 浏览 3 评论
4566 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2116 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2629 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 14:31 , Processed in 1.060061 second(s), Total 67, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号