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

嘉兴网站制作哪里好python做项目的网站

嘉兴网站制作哪里好,python做项目的网站,做网站的市场细分,电子商务网站建设与管理试卷6第十五届蓝桥杯嵌入式省赛真题 目录 第十五届蓝桥杯嵌入式省赛真题 一、题目 二、分析 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.yingshimen.cn/news/78157/

相关文章:

  • 网站必须做百度推广才能被别人搜到吗山东做网站建设公司排名
  • 手机网站免费团购网站建设费用
  • 网站优化公司效果赣州企业做网站
  • wifi扩展器做网站手机上做ppt的软件
  • 普通网站建设是什么设计师网络语
  • seo优化网站dw软件入门教程
  • 网站建设费用模板乐从建网站
  • docker可以做网站吗wordpress站群代
  • 江阴市网站建设移动网站建设的前期规划内容
  • 怎么退出建设银行网站专门做旅游的网站
  • 百度站长工具怎么推广网站怎样建设那种游戏网站
  • 响应式网站怎么做无缝轮播图网站建设服务商推荐
  • 3322怎么做网站五华县建设局网站
  • 专业手机网站建设企业做网站盐城
  • 继续加强网站建设wordpress绑定百家号
  • 买虚机送网站建设株洲网站建设推广报价
  • 上海千途建站电脑搭建网站需要空间
  • 中国空间站设计在轨飞行几年沈阳做网站培训
  • 网站建栏目建那些企业产品推广网站
  • 家乡网站设计目的wordpress 3.1
  • 网站开发人员是干什么的网站手机版怎么做
  • 设计素材网站知乎临沂专业网站建设公司
  • 鲜花网站建设解决方案外包一个项目多少钱
  • 济南市网站建设wordpress增加背景图片
  • 网站外链建设培训wordpress 5.1如何更换编辑器
  • 快速网站建设多少钱加强网站建设的意义
  • 昆明餐饮网站建设网站框架规划
  • 做网站编程有钱途么wordpress微博登录注册
  • 网站建设免费发布网站建设的原则有哪些方面
  • 国内优秀网站设计导航网站怎么建