收到板子后一直在学习电机控制,实在是小白,目前只有12v电源,不确定该板是否可以使用12v电源输入,所以还不敢测试电机。

搭建环境,在官网查看到pack包,官网资源下载
PixPin_2025-03-02_17-50-15.png 下载pack包在keil安装导入,下载相关软件硬件资料 原理图和SDK以及电机例程。

拿到板子后,板子做工很精致工正,查看板载资源,先测试下板子的基本功能,
看到PD5连接了一个yellow的LED,又查看配置PD5 可以复用为tim2的ch1,可以做一个呼吸灯
PixPin_2025-03-02_17-56-35.png PixPin_2025-03-02_17-41-29.png



<pre> /* GPIOC Configuration: Channel 1 */
  •     GPIO_InitTypeDef GPIO_InitStructure;
  •     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
  •     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  •     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  •     GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  •     GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
  •    GPIO_Init(GPIOC, &GPIO_InitStructure);
  •     GPIO_PinAFConfig(GPIOC, GPIO_PinSource5, GPIO_AF_4);
  •        
  •         /* Time Base configuration */
  •         /* Fpwm = TIM_CLK / ( (arr+1)*(psc+1) ) = 100Hz    */
  •         /* 生成100hz频率 32MHz/((3199 + 1) * (99 + 1))= 32000000/320000 = 100Hz    */
  •         TIM_TimeBaseStructure.TIM_Prescaler = 3200 - 1;  //预分频系数
  •         TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数
  •         TIM_TimeBaseStructure.TIM_Period = usCycle - 1; //自动重装载值[0 ~ 99]
  •         TIM_TimeBaseStructure.TIM_ClockDivision = 0; //时钟分频(无分频)
  •         TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

  •         /* Channel 1、2、3、4 Configuration in PWM mode */
  •         TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //PWM模式1 (CNT>CCRx 输出有效电平)
  •         TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  •         TIM_OCInitStructure.TIM_Pulse = usHightime; //占空比 CCRx值
  •         TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
  •         TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
  •         TIM_OC1Init(TIM2, &TIM_OCInitStructure);

  •         /* TIM2 counter enable */
  •         TIM_Cmd(TIM2, ENABLE);
  •         /* TIM2 Main Output Enable */
  •         TIM_CtrlPWMOutputs(TIM2, ENABLE);</pre>
  • 复制代码

    在主函数调整   【设置频率100hz】 占空比从0%--100%  再从100%-->0%

    TIM_SetCompare1(TIM2, pwm_cnt);
    但是发现led亮度并未发生变化, 不确定是pd5和tim的配置问题还是外围电路
    PixPin_2025-03-02_17-42-05.png 发现 fg pwm 接口引出了  我使用外接接口连接舵机  【pc5、pd4】先使用pd4   控制输出50hz的pwm方波  输出1ms 1.5ms  2.5ms高电平
    PixPin_2025-03-02_17-44-55.png

        TIM2_Config(200,50);
            TIM_SetCompare1(TIM2, 10);
            softWareDelay ();
            TIM_SetCompare1(TIM2, 15);
            softWareDelay ();
            TIM_SetCompare1(TIM2, 20);