网站数据怎么会丢失,做智能网站系统下载软件,wordpress 重新安装,seo是怎么优化由硬件框图可以知道我们要配置LED 和按键、lcd#xff0c;解决lcd引脚冲突
LED
先配置LED的八个引脚为GPIO_OutPut#xff0c;锁存器PD2也是#xff0c;然后都设置为起始高电平#xff0c;生成代码时还要去解决引脚冲突问题 按键
按键配置#xff0c;由原理图按键所对引… 由硬件框图可以知道我们要配置LED 和按键、lcd解决lcd引脚冲突
LED
先配置LED的八个引脚为GPIO_OutPut锁存器PD2也是然后都设置为起始高电平生成代码时还要去解决引脚冲突问题 按键
按键配置由原理图按键所对引脚要GPIO_Input 生成代码在文件夹中添加code文件夹code中添加fun.c、fun.h、headfile.h文件去资源包中把lcd.c、lcd.h、fonts.h添加到code中然后去写按键控制灯亮灭的程序看是否有问题 按键控制led没有问题后写lcd显示代码显示没问题后解决lcd与led引脚冲突问题方法在我的其他文章中 HAL_GPIO_WritePin (GPIOD,GPIO_PIN_2,GPIO_PIN_RESET ); //为解决引脚冲突初始化lcd时 LCD_Init (); 要将锁存器锁存器来 LCD_Clear (Black); LCD_SetBackColor(Black); LCD_SetTextColor(White);
LCD显示函数
void lcd_show(void) { sprintf(text, hello world); LCD_DisplayStringLine (Line0 ,(uint8_t *)text); }
脉冲捕获
PA15 PB4输入频率测量使用pwm输入模式测量比较准确题目要求频率10次/秒刷新这里需要使用定时器定时器可以用10ms时间短的定时器便于使用。 配置pwm输入捕获
建立handlie.c handle.h文件
我分别选着TIM2 TIM3 combined channels
选择 PWM input on ch1
psc 80-1 记得去勾选中断 生成代码添加.h文件main中开启TIM HAL_TIM_IC_Start_IT(htim2 ,TIM_CHANNEL_1)注意这里开启的是TIM_IC_Start
找到回调函数写功能代码这里回调函数也是要IC的
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { }
计算公式又来请查看我的另一篇文章PWM的输入捕获
这次代capture哪里加了1主要个好处 避免0错误 或者修正精度 单片机除数为0会死机 频率要求10次/秒刷新这就要用到定时器PX要求可正可负定义时就要有int类型 tim配置如下参数来源请参考我蓝桥杯第16届的模拟一解析要开启中断再生成代码 注意定时器的配置、开启代码与前面定时器配置输入捕获的不同回调函数也不一样 用led来判断一下定时器是否好使 定时器没有问题我们去定时10次/秒更新频率更新时把题目要求的频率校准做了 页面切换
用标志位进行页面切换三个页面以上我们用switch来切换 data界面
data页面中有单位切换这个用if来实现小于/大于多少变成什么单位注意还有要求f为负数时显示NULL
其中还要实现模式转换模式的转换我们也用标志位实现 这里是频率界面 按照题目要求B3按键是用来切换频率界面与周期界面的去key中的B3按键中写切换的代码 频率转周期
注意我们频率单位是hzt1/f这里周期的单位是s题目要求是um要进行单位换算也就是t要✖1000 000才得到um
易错点定义float fAT它是浮点型fA是无符号整型计算fAT时被除数1要写成1.0否则出错fATfAT/10001000不用写成1000.0因为商fAT都是是float上面代码中FBfB/1000.01000要写成1000.0是因为FB是float型fB是uint。 para参数界面 recd统计页面 页面残留问题
para recd界面显示的行数比data界面的都多从para recd两个界面切换回data界面就会有残留显示则还需要去相应界面中把对应的行数显示为空白 频率超限设置
我们设置的频率fA/B超过设置的PH值一次对应NHA/B就加一次这里的一次是高于后又低于算一次高于后不低于继续高于不能再算一次 频率突变
这里要求三秒内这就需要我们去配置定时器了
定时器配置
1.选用哪一个
2.根据定时时长设置psc、arr值启用中断
3.生成代码开启定时器
4.定时器回调函数写功能代码
定时器我们上面已经定义了一个10ms的可以选择直接在里面写 iffA0语句是防止一开始就加一因为上电时fAfB是0的然后再10ms内更新了数据就会没有操作就加1了 功能按键
加减按键 参数界面参数选择
要求进如参数界面时默认选择PD所以要去切换界面的按键四中写一个条件语句确保完成要求 按键清零长按键
这里长安一秒就需要用到定时B3prees记录按下的时间如果B3按下B3press1开始计时当放开按键的时候去比较按下的时间超过一秒就清零 led指示灯
在前面写的void change 函数用if语句写led的亮灭