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

嘉兴网站推广公司第一ppt网ppt模板免费下载

嘉兴网站推广公司,第一ppt网ppt模板免费下载,行业网站推广外包,wordpress京东主题分享第十五届蓝桥杯嵌入式省赛真题 目录 第十五届蓝桥杯嵌入式省赛真题 一、题目 二、分析 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 PD1000,PH5000,NDA,NDB,NHA,NHB; int32_t PX0; 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_A0){if(Fre_A1000){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,     ANULL     );LCD_DisplayStringLine(Line3,ucLcd);}if(Fre_B0){if(Fre_B1000){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,     BNULL       );LCD_DisplayStringLine(Line4,ucLcd);}}else//周期{if(Per_A0){if(Per_A1000){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,     ANULL       );LCD_DisplayStringLine(Line3,ucLcd);}if(Per_B0){if(Per_B1000){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,     BNULL       );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_select0;LCD_Clear(Black);break;default:break;}break;case 1://参数界面switch (key) {case 0:break;case 1:switch (P_select){case 0://PDif(PD1000) PD100;else PD100;break;case 1://PH(PH9900)?PH1000:(PH100);break;case 2://PX(PX900)?PX-1000:(PX100);break;default:break;}break;case 2:switch (P_select){case 0://PDPD100?PD1000:(PD-100);break;case 1://PHPH1000?PH10000:(PH-100);break;case 2://PXPX-100;if(PX-1000){PX1000;}break;default:break;}break;case 3:if(P_select3){P_select0;}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_flag1;Qinchu_TickuwTick;}break;case 4:Page0;FP_select0;LCD_Clear(Black);break;default:break;}if(Qinchu_flagHAL_GPIO_ReadPin(GPIOB, GPIO_PIN_2)){Qinchu_flag0;if(uwTick-Qinchu_Tick1000)//按键超过1秒后松开按键清零该界面下的所有记录值{NDA0;NDB0;NHA0;NHB0;;}}break;default:break;}} 5、数据分析和处理模块 1、频率突变 因为频率是每1秒更新10个值所以我就将30个值放在一个数组里面对应3秒再进行找大小 void tubian_proc(void)    //突变次数计数 {// 当数组填满30个值时进行以下处理if (array_ptr 30){max1_numfindMax(frqA_array,array_ptr);min1_numfindMin(frqA_array,array_ptr);max2_numfindMax(frqB_array,array_ptr);min2_numfindMin(frqB_array,array_ptr);if ((max1_num - min1_num) PD) NDA; if ((max2_num - min2_num) PD) NDB; for (uint8_t i0; 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]PHPHA[0]PH) NHA;if(PHB[1]PHPHB[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_A1000000/usCapt_TIM2[0]PX;Per_A1000000/Fre_A;frqA_array[array_ptr] Fre_A;TIM3_GetCapture(usCapt_TIM3);Fre_B1000000/usCapt_TIM3[0]PX;Per_B1000000/Fre_B;frqB_array[array_ptr] Fre_B;array_ptr;}} 三、评价结果 最终我们通过4ti官网测评可以测评出为满分 如果有朋友想需要全部工程代码可以私信我哦~
http://www.hkea.cn/news/14547582/

相关文章:

  • 专业网站建设机构wordpress移动端底部导航栏
  • 深圳网站制作公司资讯劳动仲裁院网站建设
  • 深圳定制网站公司潍坊知名网站建设价格
  • 哪里有做网站推广重庆代还信用卡网站建设
  • 凉山州住房与城乡建设局网站免费网站大全app
  • 做网站属于It行业吗企业网站的用户需求
  • 安徽金鹏建设集团网站安装wordpress linux
  • 淘宝是行业门户网站的盈利模式是什么网站开发者工具post
  • 个人备案的网站能做盈利吗网站等保如何做
  • 招聘网站建设人员的要求类网站建设
  • 2018年深圳建设网站公司天津宏宇网站建设
  • 做暧在线观看网站做网站需要报备什么条件
  • 免费企业网站cms系统做网站枣庄
  • 中山市建设局网站窗口电话外贸网站推荐
  • 网络做网站wordpress评论区插件
  • 搭建一个企业网站需要多少钱网站开发前端指什么
  • 宗学华 网站建设上海交通大学网站建设与管理3
  • 企业网站建设价格怎么样在网络上赚钱
  • 怎样更新网站SEO与网站建设创意
  • 福建住建设厅官方网站现代企业网站建设特点
  • 济宁网站建设培训广告词
  • 朔州市2018年建设工程网站做网站还是订阅号
  • 网站模板下载带后台微信小程序线上商城怎么申请
  • 网站关键字排名优化山东泰安旅游景点大全
  • 南通优普网站建设外包医疗软件网站建设公司排名
  • 网站推广文章 优帮云wordpress微博
  • 做网站比较大的公司安徽网络营销
  • 最新手机网站推荐石家庄网站开发公司
  • 做网站需要编程嘛全运网站的建设
  • 有专门做序列图的网站怎么做义工网站