大佬们,萌新想用CH582M来控制舵机,舵机的参数如下,我是该用定时器还是用管脚自带的PWM调试,上午测试一下用定时器3来控制PB0来输出波形,但是示波器没有出现,然后用管脚自带的话,怎么设置2ms的周期和占空比呀,大佬们救救
定时器pwm输出的io是固定的,tmr3对应着pb22,pb0是8位pwm引脚。
精确的频率建议使用定时器的pwm。
大佬,如果用8位的PWM的话,我这边想设置2ms一个周期也就是500Hz,需要怎么设置,设置那些参数,60Mhz的主频超了
建议用定时器的pwm去配置。
GPIOB_ResetBits(GPIO_Pin_22);//配置PWM口PB22 GPIOB_ModeCfg(GPIO_Pin_22,GPIO_ModeOut_PP_5mA); TMR3_PWMInit(High_Level,PWM_Times_1); TMR3_PWMCycleCfg(120000);//周期2ms TMR3_Disable(); TMR3_PWMActDataWidth(60000);//占空比50%,修改占空比必须暂时关闭定时器 TMR3_Enable();
如果用8位的PWM,可以这样配置看看:
SetSysClock(CLK_SOURCE_PLL_32MHz); GPIOA_ModeCfg(GPIO_Pin_13,GPIO_ModeOut_PP_5mA);//PA13-PWM5 PWMX_CLKCfg(250);//cycle=250/Fsys PWMX_CycleCfg(PWMX_Cycle_256);//周期=256*cycle PWMX_ACTOUT(CH_PWM5,256/2,Low_Level,ENABLE);//50%占空比
好的,谢谢大佬
怎么芯片上的PWM7、PWM8、PWM9有两组,所以是PWM7-PB1、PWM8-PB2、PWM9-PB3还是PWM7-PB4、PWM8-PB6、PWM9-PB7呢
他们是映射关系,默认PWM7-PB4,PWM8-PB6,PWM9-PB7,后面有下划线的是用映射脚,调用
GPIOPinRemap(RB_PIN_PWMX);
就是选用映射功能脚。
收到,谢谢大佬
如果用CH592控制舵机,用什么IO,该如何配置?有没有控制舵机的样机,死活搜不到啊
感觉整个搜索引擎就这1个链接讲CH582如何控制舵机,没有其它文章或者示例。
你需要去查看被控制的舵机,是通过什么方式驱动,比如特定波形,则PWM进行驱动。或者使用定时器进行驱动。比较建议的操作是,查找一份之前驱动过的MCU的代码,然后查看它的驱动方式和通信协议,模仿该协议。