1.CubMx配置
我使用的开发板为 DK117E-G4 蓝桥杯嵌入式竞赛实训平台
注意PB4连接的是R39,PA14连接的是R40,由于PA7没有频率输入,所以这里采用PB4引脚进行输入捕获。
2.编程思路
1)需要测量的量
2)需要变化的量
3)变化的前提
这里包括非本页面数据不可更改,按键按下5s内数据不可更改,长按2s后数据不可更改。
4)程序执行顺序:测量——触发动作——判断条件——执行,其中测量部分相对独立,后三个步骤需要按照顺序编程。
5)难点:按键的特殊功能
3.程序
//用到的全局变量
float voltage; //adc值
float V;
float MH;
float ML;
u32 freq; //频率
u32 f; //重装载值
u8 R=1; //参数1
u8 K=1; //参数2
u8 P; //占空比
u8 N; //PWM切换次数
u8 Lock; //按键锁定标志
u8 PWM_mode = 'L';
u8 PWM_temmode = 'L';
u32 PWM_CCR; //CCR值,测试程序用
u8 Page; //页面
u8 Set_Options; //参数选择
u32 TM3Count;
u32 COUNT; //测试程序用
u8 uled; //LED状态
u32 uwTick_key2;
u32 uwTick_led2;
u32 uwTick_key4;
u32 uwTick_lcd;
u32 uwTick_adc;
u32 uwTick_pwm;
1)测量
//AD采样
void AD_Pro()
{
if(uwTick-uwTick_adc<200) return;