问答

汇集网友智慧,解决技术难题

小小小白啊

TA的家园币:10  

  • ch32V103使用三路超声波小车, 电机会出现异常

    用ch32v103r8t6开发板,搞定了小车上的三个超声波模块之后,供上电之后,小车一直向左拐(即使没有达到小车判断小车左右拐的条件),会有哪方面的问题导致的的吗?下面为部分代码//电机初始化voidl9110s_init(left_or_rightobject){if(object==left){pwm_init(L_PWM_F,72,0,TIM_OCPreload_Enable);//L_PWM_FPWM4_CH3_B8pwm_init(L_PWM_B,72,0,TIM_OCPreload_Enable);//L_PWM_BPWM4_CH4_B9}elseif(object==right){pwm_init(R_PWM_F,72,0,TIM_OCPreload_Disable);//R_PWM_FPWM3_CH3_B0pwm_init(R_PWM_B,72,0,TIM_OCPreload_Disable);//R_PWM_BPWM3_CH4_B1}}//-------------------------------------------------------------------------------------------------------------------//@briefPWM初始化//@parampwmchPWM通道号及引脚//@paramfreqPWM频率//@paramdutyPWM占空比//@paramTIM_OCPreload_Enable_Disable默认设置为TIM_OCPreload_Disable,后期可删除此形参只是为了适配RGB灯做的修改//@returnvoid//Sampleusage:pwm_init(PWM1_CH1_A8,50,5000);//初始化PWM1通道1使用引脚A8输出PWM频率50HZ占空比为百分之5000/PWM_DUTY_MAX*100//PWM_DUTY_MAX在wh_pwm.h文件中默认为10000//-------------------------------------------------------------------------------------------------------------------voidpwm_init(PWMCH_enumpwmch,uint32freq,uint32duty,uint16_tTIM_OCPreload_Enable_Disable){TIM_OCInitTypeDefTIM_OCInitStructure;uint16match_temp;//占空比值uint16period_temp;//周期值uint16freq_div=0;//分频值pwm_gpio_init(pwmch);//PWM引脚初始化/*获取系统主频*/sys_clk=(uint32)72000000;freq_div=(uint16)((sys_clk/freq)>>16);//多少分频period_temp=(uint16)(sys_clk/(freq*(freq_div+1)));//周期match_temp=period_temp*duty/PWM_DUTY_MAX;//占空比/*时基初始化*/timbase_init((pwmch>>8),period_temp-1,fre

    国产芯片 嵌入式

    2022-10-13 0