当前位置: 首页 > wzjs >正文

扬州建设教育信息网站百度电视剧风云榜

扬州建设教育信息网站,百度电视剧风云榜,沧州哪里可以做网站,服务器站点的网站地图怎么做第十五届蓝桥杯嵌入式省赛真题 目录 第十五届蓝桥杯嵌入式省赛真题 一、题目 二、分析 1、配置 2、变量定义 3、LCD显示模块 4、按键模块 5、数据分析和处理模块 1、频率突变 2、频率超限 3、数据处理 三、评价结果 一、题目 二、分析 1、配置 首先是配置cubemx…

第十五届蓝桥杯嵌入式省赛真题

目录

第十五届蓝桥杯嵌入式省赛真题

一、题目

二、分析

1、配置

2、变量定义

3、LCD显示模块

4、按键模块

5、数据分析和处理模块

1、频率突变

2、频率超限

3、数据处理

三、评价结果


一、题目

二、分析

1、配置

首先是配置cubemx的定时器进行PA15和PB4的输入捕获,如图所示:

                                此图为PA15的配置,我配置为PA15为定时器2的通道1

此图为PB4的配置,我配置为PB4为定时器3的通道1

2、变量定义

uint8_t ucLcd[21];                  /* LCD值(\0结束) */
uint8_t Page;
uint8_t Qinchu_flag;
int32_t Fre_A,Fre_B,Per_A,Per_B,Qinchu_Tick;
uint8_t FP_select,P_select;//0表示频率,1表示周期
int32_t PD=1000,PH=5000,NDA,NDB,NHA,NHB;
int32_t PX=0;
uint16_t usCapt_TIM2[2],usCapt_TIM3[2];    /* TIM输入捕捉值 */

3、LCD显示模块

void LCD_Proc(void)                 
{static uint32_t LCD_Tick;                           //
​if((uwTick - LCD_Tick) > 200 ){LCD_Tick = uwTick;//__disable_irq();switch (Page){case 0://数据界面sprintf((char*)ucLcd,"        DATA");LCD_DisplayStringLine(Line1,ucLcd);if(!FP_select)//频率{if(Fre_A>0){if(Fre_A>1000){sprintf((char*)ucLcd,"     A=%.2fKHz      ",((float)Fre_A)/1000);LCD_DisplayStringLine(Line3,ucLcd);}else{sprintf((char*)ucLcd,"     A=%uHz      ",Fre_A);LCD_DisplayStringLine(Line3,ucLcd);}  }else{sprintf((char*)ucLcd,"     A=NULL      ");LCD_DisplayStringLine(Line3,ucLcd);}if(Fre_B>0){if(Fre_B>1000){sprintf((char*)ucLcd,"     B=%.2fKHz      ",((float)Fre_B)/1000);LCD_DisplayStringLine(Line4,ucLcd);}else{sprintf((char*)ucLcd,"     B=%uHz         ",Fre_B);LCD_DisplayStringLine(Line4,ucLcd);} }else{sprintf((char*)ucLcd,"     B=NULL        ");LCD_DisplayStringLine(Line4,ucLcd);}}else//周期{if(Per_A>0){if(Per_A>1000){sprintf((char*)ucLcd,"     A=%.2fmS         ",((float)Per_A)/1000);LCD_DisplayStringLine(Line3,ucLcd);}else{sprintf((char*)ucLcd,"     A=%uuS        ",Per_A);LCD_DisplayStringLine(Line3,ucLcd); }  }   else{sprintf((char*)ucLcd,"     A=NULL        ");LCD_DisplayStringLine(Line3,ucLcd);}if(Per_B>0){if(Per_B>1000){sprintf((char*)ucLcd,"     B=%.2fmS        ",((float)Per_B)/1000);LCD_DisplayStringLine(Line4,ucLcd);}else{sprintf((char*)ucLcd,"     B=%uuS        ",Per_B);LCD_DisplayStringLine(Line4,ucLcd); } }else{sprintf((char*)ucLcd,"     B=NULL        ");LCD_DisplayStringLine(Line4,ucLcd);}}break;case 1://参数界面sprintf((char*)ucLcd,"        PARA");LCD_DisplayStringLine(Line1,ucLcd);sprintf((char*)ucLcd,"     PD=%uHz      ",PD);LCD_DisplayStringLine(Line3,ucLcd);sprintf((char*)ucLcd,"     PH=%uHz      ",PH);LCD_DisplayStringLine(Line4,ucLcd);sprintf((char*)ucLcd,"     PX=%dHz      ",PX);LCD_DisplayStringLine(Line5,ucLcd);break;case 2://统计界面sprintf((char*)ucLcd,"        RECD");LCD_DisplayStringLine(Line1,ucLcd);sprintf((char*)ucLcd,"     NDA=%u      ",NDA);LCD_DisplayStringLine(Line3,ucLcd);sprintf((char*)ucLcd,"     NDB=%u      ",NDB);LCD_DisplayStringLine(Line4,ucLcd);sprintf((char*)ucLcd,"     NHA=%u      ",NHA);LCD_DisplayStringLine(Line5,ucLcd);sprintf((char*)ucLcd,"     NHB=%u      ",NHB);LCD_DisplayStringLine(Line6,ucLcd);break;default:break;}//__enable_irq();}
}

4、按键模块

/* 按键扫描 */
void KEY_Proc(void)
{static uint32_t Key_Tick;                           //Key_Tick
​if((uwTick - Key_Tick) > 2 ){Key_Tick = uwTick;KeyHandle(KEY_Read());}
}
/* 按键响应 */
void KeyHandle(uint8_t key)
{switch (Page){case 0://数据界面switch (key) {case 0:break;case 1://LD1 = !LD1;break;case 2://LD2 = !LD2;break;case 3:FP_select=!FP_select;break;case 4:Page++;P_select=0;LCD_Clear(Black);break;default:break;}break;case 1://参数界面switch (key) {case 0:break;case 1:switch (P_select){case 0://PDif(PD<1000) PD+=100;else PD=100;break;case 1://PH(PH>9900)?PH=1000:(PH+=100);break;case 2://PX(PX>900)?PX=-1000:(PX+=100);break;default:break;}break;case 2:switch (P_select){case 0://PDPD<=100?PD=1000:(PD-=100);break;case 1://PHPH<=1000?PH=10000:(PH-=100);break;case 2://PXPX-=100;if(PX<-1000){PX=1000;}break;default:break;}break;case 3:if(++P_select==3){P_select=0;}break;case 4:Page++;LCD_Clear(Black);break;default:break;}break;case 2://计录界面switch (key) {case 0:break;case 1:break;case 2:break;case 3:if(!Qinchu_flag){Qinchu_flag=1;Qinchu_Tick=uwTick;}break;case 4:Page=0;FP_select=0;LCD_Clear(Black);break;default:break;}if(Qinchu_flag&&HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_2)){Qinchu_flag=0;if(uwTick-Qinchu_Tick>1000)//按键超过1秒后松开按键,清零该界面下的所有记录值{NDA=0;NDB=0;NHA=0;NHB=0;;}}break;default:break;}}

5、数据分析和处理模块

1、频率突变

因为频率是每1秒更新10个值,所以我就将30个值放在一个数组里面,对应3秒,再进行找大小

void tubian_proc(void)    //突变次数计数
{// 当数组填满30个值时,进行以下处理if (array_ptr == 30){max1_num=findMax(frqA_array,array_ptr);min1_num=findMin(frqA_array,array_ptr);max2_num=findMax(frqB_array,array_ptr);min2_num=findMin(frqB_array,array_ptr);if ((max1_num - min1_num) > PD) NDA++; if ((max2_num - min2_num) > PD) NDB++; for (uint8_t i=0; i < 30; i++){frqA_array[i] = 0;frqB_array[i] = 0;}array_ptr = 0;}
}
2、频率超限

我们这里需要注意是当波形处于递增的时候NHA或NHA等于FH才加1,波形递减的时候,不实现,而不是简单的相交,这是一个易错点

int PHA[2],PHB[2];  
void PH_beyond(void)  //频率超限计数
{PHA[1]=Fre_A;PHB[1]=Fre_B;if(PHA[1]>PH&&PHA[0]<PH) NHA++;if(PHB[1]>PH&&PHB[0]<PH) NHB++;PHA[0]=PHA[1];PHB[0]=PHB[1];
}
3、数据处理
void Data_Proc(void)
{PH_beyond();static uint32_t Data_Tick,Data_tick;                            ////Get_NHA();if((uwTick - Data_Tick) > 100)//10次一秒0.1秒1次{Data_Tick = uwTick;
​TIM2_GetCapture(usCapt_TIM2);Fre_A=1000000/usCapt_TIM2[0]+PX;Per_A=1000000/Fre_A;frqA_array[array_ptr] = Fre_A;TIM3_GetCapture(usCapt_TIM3);Fre_B=1000000/usCapt_TIM3[0]+PX;Per_B=1000000/Fre_B;frqB_array[array_ptr] = Fre_B;array_ptr++;}}

三、评价结果

最终我们通过4ti官网测评,可以测评出为满分

如果有朋友想需要全部工程代码,可以私信我哦~

http://www.dtcms.com/wzjs/133416.html

相关文章:

  • 网站开发工具有百度推广助手下载
  • 网站建设 别墅网络广告推广方案
  • 中装建设股票有潜力吗推广优化师
  • 网站风格变化关键词优化推广排名软件
  • 网站建设有哪几种形式搜索引擎原理
  • 网站建设接单北京网站制作公司
  • 人才招聘网站模板滕州今日头条新闻
  • 做网站的日文谷歌搜索入口中文
  • 阳西哪里有做网站品牌运营具体做什么
  • 电影网站建设公司b站推广网站mmmnba
  • 国外域名的网站怎么做外包公司是正规公司吗
  • 成功网络营销案例靠谱seo外包定制
  • 网站安全的建设目标百度账号注销
  • 营销网站推广策略网站运营seo实训总结
  • 昆明智能网站推广价格培训机构网站
  • 浙江建设继续教育网站广州网络推广定制
  • 制作网站需要哪些工具网站提交入口链接
  • 乐清网站建设网站建设软文网站推荐
  • 2020网络游戏排行榜网站seo优化是什么意思
  • 什么是网站挂马必应搜索引擎地址
  • 武汉营销型企业网站开发东莞网络营销代运营
  • 重庆网站平台2023年又封城了
  • 中国网站制作公司应用宝下载
  • 查找自己的电子邮箱合肥百度关键词优化
  • 建设门户网站特点太原首页推广
  • 建立传媒公司网站百度优化公司
  • 网站平台建设的重要性优化网站平台
  • 网站设计素养软件开发app制作公司
  • 怎么做阿里妈妈推广网站百度指数峰值查询
  • 口碑好的网站推广软件百度下载正版