标题: STM32F4单片机驱动电调程序,并在数码管显示中间量 [打印本页]

作者: iopiopiop9987a    时间: 2020-2-10 14:56
标题: STM32F4单片机驱动电调程序,并在数码管显示中间量
  初学32,想自制一个四轴,代码独立编写,这个贴是记录pwm控制电调,以及电调的初始化协议,说来曲折,由于刚开始只知道信号50HZ方波,并不知道脉宽(网上查的是1ms最大油门但并不好使),于是刚好手头有个TM1637的数码管,这个数码管也是曲折,网上只有f1的代码,于是又进行移植,采用I2C通信协议,中间量便显示在数码管上,经过验证,2ms最低油门,3ms最高油门,是亿航的拆机电调,代码已上传,主函数如下KEY0加速 KEY1减速
int main(void)
{
    u16 led0pwmval=16;   
  u8 key;           //保存键值   
    u8 dir=1;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
    delay_init(168);  //初始化延时函数
    KEY_Init();       //初始化与按键连接的硬件接
    TM1637_Init();
    uart_init(115200);//初始化串口波特率为115200
     TIM14_PWM_Init(168-1,10000-1);        
   while(1)
    {
        key=KEY_Scan(0);        //得到键值
           if(key)
        {                           
            switch(key)
            {                 
               
                case KEY0_PRES:    //控制LED0翻转
                    led0pwmval++;
                    break;
                case KEY1_PRES:    //控制LED1翻转     
                    led0pwmval--;
                    break;
            }
        }else delay_ms(10);
        TIM_SetCompare1(TIM14,led0pwmval);   
        TM1637_NixieTubeDisplay();
        TM1637_NixieTubeDisplayChar(0,0);
        TM1637_NixieTubeDisplayChar(0,1);
        TM1637_NixieTubeDisplayChar(led0pwmval/10,2);//第三位显示3
        TM1637_NixieTubeDisplayChar(led0pwmval%10,3);//第四位显示4
    }
}


PWM输出实验.7z

298.23 KB, 下载次数: 25, 下载积分: 黑币 -5






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1