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

合肥公司门户网站制作贵州省建设厅网站造价工程信息

合肥公司门户网站制作,贵州省建设厅网站造价工程信息,郑州做网站的论坛,营销型网站建设费用怎么这么大一、题目分析 考察内容#xff1a; led按键#xff08;短按#xff09;PWM输出#xff08;PA1#xff09;串口接收lcd显示 根据PWM输出占空比调节#xff0c;高频与低频切换 串口接收#xff08;指令解析#xff09;【中断接收】 2个显示界面 led灯闪烁定时器 二… 一、题目分析 考察内容 led按键短按PWM输出PA1串口接收lcd显示 根据PWM输出占空比调节高频与低频切换 串口接收指令解析【中断接收】 2个显示界面 led灯闪烁定时器 二、Usr.c /* Includes ------------------------------------------------------------------*/ #include usr.h #include usart.h /* values --------------------------------------------------------------------*/ struct keys key[4]{0,0,0,0}; uint8_t menu 0; uint8_t password_valid 0;//密码有效信号 uint8_t password_err_3 0;//密码3次及以上输入错误信号 uint8_t password_err_time 0;//密码3次及以上输入错误次数 uint8_t B1 ; uint8_t B2 ; uint8_t B3 ; uint16_t F 1000; uint16_t D 50; uint16_t password 123;//密码 /* define --------------------------------------------------------------------*/ #define MENU_PSD 0 #define MENU_STA 1/*----------------------------------------------------------------------------*/ void led_set(uint8_t led_dis) {HAL_GPIO_WritePin(GPIOC,GPIO_PIN_All,GPIO_PIN_SET);//关闭所有ledHAL_GPIO_WritePin(GPIOC,led_dis8,GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET); } void led_2_toggle(void){HAL_GPIO_WritePin(GPIOC,GPIO_PIN_8,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_10,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_11,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_12,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_9);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_SET);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_2,GPIO_PIN_RESET); }//key_control void key_control(void) {if(key[0].single_flag 1){key[0].single_flag 0;//仅在PSD有效if(menu MENU_PSD){if(B1 ){B1 0;}else{B1;if(B19){B1 0;}}}}else if(key[1].single_flag 1){key[1].single_flag 0;if(menu MENU_PSD){if(B2 ){B2 0;}else{B2;if(B29){B2 0;}}}}else if(key[2].single_flag 1){key[2].single_flag 0;if(menu MENU_PSD){if(B3 ){B3 0;}else{B3;if(B39){B3 0;}}} }else if(key[3].single_flag 1){ //密码输入完成确认key[3].single_flag 0;//此处要写密码判断if((B1-0)*100(B2-0)*10(B3-0) password){password_valid 1;}else{password_err_time ;}if(password_valid 1){menu MENU_STA;password_err_3 0;password_err_time 0;//输入成功将err次数清0}else{B1 ;B2 ;B3 ;if(password_err_time 3){password_err_3 1;}}}else{key[0].long_flag 0;key[1].long_flag 0;key[2].long_flag 0;key[3].long_flag 0;} } void dispaly_init(void){LCD_Clear(Black);LCD_SetBackColor(Black);LCD_SetTextColor(White); } void menu_display(void) {char text[30]{NULL};if(menu MENU_PSD){sprintf(text, PSD );LCD_DisplayStringLine(Line1,(u8*)text);sprintf(text, B1:%c ,B1);LCD_DisplayStringLine(Line3,(u8*)text);sprintf(text, B2:%c ,B2);LCD_DisplayStringLine(Line4,(u8*)text);sprintf(text, B3:%c ,B3);LCD_DisplayStringLine(Line5,(u8*)text);}else{fre_2hz_duty_10_set();sprintf(text, STA );LCD_DisplayStringLine(Line1,(u8*)text);sprintf(text, F:%d,F);LCD_DisplayStringLine(Line3,(u8*)text);sprintf(text, D:%d,D);LCD_DisplayStringLine(Line4,(u8*)text);LCD_ClearLine(Line5);} }//2hz void fre_2hz_duty_10_set(void) {F 2000;D 10;__HAL_TIM_SetCompare(htim2,TIM_CHANNEL_2,100-1);//占空比百分之10__HAL_TIM_SET_PRESCALER(htim2,40-1);//2hz } //1hz 50% void fre_1hz_duty_50_set(void){__HAL_TIM_SetCompare(htim2,TIM_CHANNEL_2,500-1);//占空比百分之50__HAL_TIM_SET_PRESCALER(htim2,80-1);//1hzF 2000;D 50; }//定时器中断服务函数 void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {if(htim-Instance TIM6){key[0].key_sta HAL_GPIO_ReadPin(B1_Port,B1_Pin);key[1].key_sta HAL_GPIO_ReadPin(B2_Port,B2_Pin);key[2].key_sta HAL_GPIO_ReadPin(B3_Port,B3_Pin);key[3].key_sta HAL_GPIO_ReadPin(B4_Port,B4_Pin);for(uint8_t i 0;i4;i){switch(key[i].judge_sta){case 0:{if(key[i].key_sta 0){key[i].judge_sta 1;key[i].key_time 0;}else {key[i].judge_sta 0;}}break;case 1:{if(key[i].key_sta 0){key[i].judge_sta 2;}else{key[i].judge_sta 0;}}break;case 2:{if(key[i].key_sta 1){if(key[i].key_time Short_time){key[i].single_flag 1;key[i].judge_sta 0;}}else{key[i].key_time;if(key[i].key_time Long_time){key[i].long_flag 1;key[i].judge_sta 0;}}}break;}}}if(htim-Instance TIM7){static uint16_t time 0;if(password_valid 1){password_err_3 0;led_set(0x01);F 2000;fre_2hz_duty_10_set();if(time 50-1){password_valid 0;led_set(0x00);time 0;menu MENU_PSD;B1 ;B2 ;B3 ;}else{time ;}}else if(password_err_3 1){static uint8_t cnt 0;cnt ;cnt % 2;//led2翻转if(cnt 0){led_set(0x02);}else{led_set(0x00);}//5s后接触报警if(time 50-1){password_err_3 0;led_set(0x00);time 0; //5s计时清零cnt 0;}else{time ; //计时}F 1000;fre_1hz_duty_50_set();//方波1hz}else{time 0;fre_1hz_duty_50_set();//方波1hz} }}//串口接收完成中断回调服务函数 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {if(huart-Instance USART1){led_set(0xaa);if(((recevie[0]-0)*100(recevie[1]-0)*10(recevie[2]-0) password)(recevie[3]) -){password (recevie[4]-0)*100(recevie[5]-0)*10(recevie[6]-0);}HAL_UART_Receive_IT(huart1,recevie,7);} }三、Usr.h #ifndef __USR_H__ #define __USR_H__#ifdef __cplusplus extern C { #endif/* Includes ------------------------------------------------------------------*/ #include main.h #include lcd.h #include stdio.h #include tim.h /* extern --------------------------------------------------------------------*/ extern uint8_t recevie[7]; //key struct keys{uint8_t judge_sta;uint8_t key_sta;uint8_t single_flag;uint8_t long_flag;uint8_t key_time; }; /*key define-------------------------------------------------------------------*/ #define B1_Port GPIOB #define B2_Port GPIOB #define B3_Port GPIOB #define B4_Port GPIOA#define B1_Pin GPIO_PIN_0 #define B2_Pin GPIO_PIN_1 #define B3_Pin GPIO_PIN_2 #define B4_Pin GPIO_PIN_0#define Long_time 200 //2s #define Short_time 50 //0.5s//led void led_set(uint8_t led_dis);void led_2_toggle(void); //key_control void key_control(void); void dispaly_init(void); void menu_display(void); void fre_2hz_duty_10_set(void);#ifdef __cplusplus } #endif #endif 四、串口中断接收 本题目要求接收7个ASCII码字符 定义uint8_t 类型接收数组 uint8_t recevie[7]; 在while(1)前开启串口接收中断函数接收7个字符后进入中断服务函数 HAL_UART_Receive_IT(huart1,recevie,7); 根据中断类型调用中断回调函数 下面展示中断服务函数 //串口接收完成中断回调服务函数 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {if(huart-Instance USART1){led_set(0xaa);if(((recevie[0]-0)*100(recevie[1]-0)*10(recevie[2]-0) password)(recevie[3]) -){password (recevie[4]-0)*100(recevie[5]-0)*10(recevie[6]-0);}HAL_UART_Receive_IT(huart1,recevie,7);} } 五、LED灯闪烁问题 计时应该是正确的5s if(htim-Instance TIM7){static uint16_t time 0;if(password_valid 1){password_err_3 0;led_set(0x01);F 2000;fre_2hz_duty_10_set();if(time 50-1){password_valid 0;led_set(0x00);time 0;menu MENU_PSD;B1 ;B2 ;B3 ;}else{time ;}}else if(password_err_3 1){static uint8_t cnt 0;cnt ;cnt % 2;//led2翻转if(cnt 0){led_set(0x02);}else{led_set(0x00);}//5s后接触报警if(time 50-1){password_err_3 0;led_set(0x00);time 0; //5s计时清零cnt 0;}else{time ; //计时}F 1000;fre_1hz_duty_50_set();//方波1hz}else{time 0;fre_1hz_duty_50_set();//方波1hz} } 六、 总结 本次只写一个usr.c usr.h发现确实方便了许多相较于14届难度较小 比照LCD的cubemx配置引脚的时候记得配置PD2led锁存器引脚 复制其他.h时后记得更改预编译 #ifndef __USR_H__ //记得更改 #define __USR_H__#ifdef __cplusplus extern C { #endif/* Includes ------------------------------------------------------------------*/ #include main.h#ifdef __cplusplus } #endif #endif 如果没有改为__USR_H__,跳转函数跳转不进去usr.c文件会显示C99_warning 
文章转载自:
http://www.morning.jkcpl.cn.gov.cn.jkcpl.cn
http://www.morning.gqbks.cn.gov.cn.gqbks.cn
http://www.morning.kjtdy.cn.gov.cn.kjtdy.cn
http://www.morning.qqhmg.cn.gov.cn.qqhmg.cn
http://www.morning.rccbt.cn.gov.cn.rccbt.cn
http://www.morning.bqrd.cn.gov.cn.bqrd.cn
http://www.morning.zyrp.cn.gov.cn.zyrp.cn
http://www.morning.kbdrq.cn.gov.cn.kbdrq.cn
http://www.morning.rkgyx.cn.gov.cn.rkgyx.cn
http://www.morning.lzqdl.cn.gov.cn.lzqdl.cn
http://www.morning.wtcd.cn.gov.cn.wtcd.cn
http://www.morning.nclbk.cn.gov.cn.nclbk.cn
http://www.morning.qhydkj.com.gov.cn.qhydkj.com
http://www.morning.tnhg.cn.gov.cn.tnhg.cn
http://www.morning.bryyb.cn.gov.cn.bryyb.cn
http://www.morning.xjnjb.cn.gov.cn.xjnjb.cn
http://www.morning.rwfp.cn.gov.cn.rwfp.cn
http://www.morning.yzygj.cn.gov.cn.yzygj.cn
http://www.morning.qyrnp.cn.gov.cn.qyrnp.cn
http://www.morning.bpmtj.cn.gov.cn.bpmtj.cn
http://www.morning.mrfbp.cn.gov.cn.mrfbp.cn
http://www.morning.jqswf.cn.gov.cn.jqswf.cn
http://www.morning.rbkl.cn.gov.cn.rbkl.cn
http://www.morning.cpljq.cn.gov.cn.cpljq.cn
http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn
http://www.morning.rzdzb.cn.gov.cn.rzdzb.cn
http://www.morning.ytmx.cn.gov.cn.ytmx.cn
http://www.morning.rdymd.cn.gov.cn.rdymd.cn
http://www.morning.nzzws.cn.gov.cn.nzzws.cn
http://www.morning.jjxnp.cn.gov.cn.jjxnp.cn
http://www.morning.lynmt.cn.gov.cn.lynmt.cn
http://www.morning.qcdtzk.cn.gov.cn.qcdtzk.cn
http://www.morning.lqpzb.cn.gov.cn.lqpzb.cn
http://www.morning.xtgzp.cn.gov.cn.xtgzp.cn
http://www.morning.mlzyx.cn.gov.cn.mlzyx.cn
http://www.morning.synlt.cn.gov.cn.synlt.cn
http://www.morning.gwqq.cn.gov.cn.gwqq.cn
http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn
http://www.morning.pxbky.cn.gov.cn.pxbky.cn
http://www.morning.rnmmh.cn.gov.cn.rnmmh.cn
http://www.morning.jwfqq.cn.gov.cn.jwfqq.cn
http://www.morning.gmdtk.cn.gov.cn.gmdtk.cn
http://www.morning.clkyw.cn.gov.cn.clkyw.cn
http://www.morning.zdnrb.cn.gov.cn.zdnrb.cn
http://www.morning.wwkft.cn.gov.cn.wwkft.cn
http://www.morning.qcymf.cn.gov.cn.qcymf.cn
http://www.morning.wglhz.cn.gov.cn.wglhz.cn
http://www.morning.pqrhb.cn.gov.cn.pqrhb.cn
http://www.morning.nyqnk.cn.gov.cn.nyqnk.cn
http://www.morning.kpgft.cn.gov.cn.kpgft.cn
http://www.morning.dsprl.cn.gov.cn.dsprl.cn
http://www.morning.mqfw.cn.gov.cn.mqfw.cn
http://www.morning.mqldj.cn.gov.cn.mqldj.cn
http://www.morning.qywfw.cn.gov.cn.qywfw.cn
http://www.morning.kfcfq.cn.gov.cn.kfcfq.cn
http://www.morning.wjtxt.cn.gov.cn.wjtxt.cn
http://www.morning.lywys.cn.gov.cn.lywys.cn
http://www.morning.xnnxp.cn.gov.cn.xnnxp.cn
http://www.morning.tgyqq.cn.gov.cn.tgyqq.cn
http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn
http://www.morning.xcnwf.cn.gov.cn.xcnwf.cn
http://www.morning.ghwdm.cn.gov.cn.ghwdm.cn
http://www.morning.fcqlt.cn.gov.cn.fcqlt.cn
http://www.morning.dwyyf.cn.gov.cn.dwyyf.cn
http://www.morning.lstmg.cn.gov.cn.lstmg.cn
http://www.morning.smdnl.cn.gov.cn.smdnl.cn
http://www.morning.dtcsp.cn.gov.cn.dtcsp.cn
http://www.morning.qsfys.cn.gov.cn.qsfys.cn
http://www.morning.bsqbg.cn.gov.cn.bsqbg.cn
http://www.morning.zlzpz.cn.gov.cn.zlzpz.cn
http://www.morning.qzbwmf.cn.gov.cn.qzbwmf.cn
http://www.morning.lbssg.cn.gov.cn.lbssg.cn
http://www.morning.cnqwn.cn.gov.cn.cnqwn.cn
http://www.morning.gjcdr.cn.gov.cn.gjcdr.cn
http://www.morning.fwjfh.cn.gov.cn.fwjfh.cn
http://www.morning.smdiaosu.com.gov.cn.smdiaosu.com
http://www.morning.pwsnr.cn.gov.cn.pwsnr.cn
http://www.morning.qkdjq.cn.gov.cn.qkdjq.cn
http://www.morning.bftqc.cn.gov.cn.bftqc.cn
http://www.morning.ydfr.cn.gov.cn.ydfr.cn
http://www.tj-hxxt.cn/news/279255.html

相关文章:

  • 杭州网站建设的公司中企动力企业电子商务
  • 万网免费网站广州seo外包
  • 温州网站排名优化中山权威发布
  • 网站的汉化包怎么做创世通网站建设
  • 网站上传安装电子商务网站推广的方式有哪些
  • 精美的php个人网站源码免费做产品宣传的网站
  • 广州专业做网站公司有哪些百度禁止seo推广
  • 建设设计院网站南浔建设网站
  • 网站目录权限设置 user1688网站简介
  • 网站建设师要求商城和营销型网站建设
  • 网站收录量下降网站开发网页设计js
  • 寻找项目做的网站wordpress kleo
  • 黑龙江省高速公路建设局网站wordpress附件数据库
  • 网站建设话术我为群众办实事心得体会
  • 做企业网站安装什么系统好工商网站官网查询
  • 建设网站运营方案wordpress 报价
  • 凡客网上做的网站能否更改域名高端品牌vi设计公司
  • 网站备案 快递wordpress增加友情链接
  • 自助餐火锅网站建设服务器租用网站
  • 一级a做爰片免费网站下载景观设计公司名称
  • 无锡网站制作联系方式门户网站重要性
  • 高级seo招聘蜗牛精灵seo
  • 怎么搭建免费网站什么是网络营销的概率
  • 灰色网站欣赏php做网站安全
  • 如何做网站二维码双公示网站专栏建设情况
  • 做韦恩图网站软件开发管理软件
  • 网站要素工程公司起名大全字库
  • 南宁高新区建设房产局网站网站建设与管理常用
  • 网站推广的资源合作推广神农架网站制作
  • 廊坊集团网站建设动图在线制作网站