标题:
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
2020-2-10 17:36 上传
点击文件名下载附件
下载积分: 黑币 -5
298.23 KB, 下载次数: 25, 下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1