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

维护网站要做哪些工作建网站与建网页的区别

维护网站要做哪些工作,建网站与建网页的区别,wordpress按钮下拉菜单,php网站开发概念和简介目录 一、时钟使能的含义 1.为什么要时钟使能#xff1f; 2.什么是时钟使能#xff1f; 3.GPIO的使能信号#xff1f; 二、代码封装 1.封装前完整代码 2.封装结构 封装后代码 led.c led.h key.c key.h main.c 一、时钟使能的含义 1.为什么要时钟使能#xff1f…目录 一、时钟使能的含义 1.为什么要时钟使能 2.什么是时钟使能 3.GPIO的使能信号 二、代码封装 1.封装前完整代码 2.封装结构 封装后代码 led.c led.h key.c key.h main.c 一、时钟使能的含义 1.为什么要时钟使能 每一个stm32单片机里都有着各种硬件设备每一个设备对于频率的要求是不同的有些设备要求频率低有些设备要求频率高。如果为所有硬件设备设置同一频率这就会出现性能不足或者资源浪费的情况所以引入“时钟”这一概念实现频率分配即“分频”“倍频”。需要低频和高频的设备使用相应的时钟使能函数已经固定需要查表或者查图获得可以使用自己所需要的频率实现资源的合理分配。 2.什么是时钟使能 时钟是分频使能是信号是动作。所有时钟默认是disable需要用哪个频率调用相应的信号设为enable。 时钟使能是用分频得到的信号作为模块的使能信号,模块原有的时钟不变。即用分频信号去控制模块的使能端口。 3.GPIO的使能信号 GPIO模块的使能信号是AHB1 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE); 通过一系列的分频和倍频使得每一个模块有比较适配的频率利用率高。分倍频原理如下 二、代码封装 在前面的开关控制灯的亮灭代码实现时 有开关的五大参数设置和灯的五大参数设置等数十行代码在函数实现的前面影响程序的可读性所以要进行代码的封装增强简洁性。 1.封装前完整代码 #include stm32f4xx.h // Device headerint main() {//时钟使能--LEDRCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);//GPIO时钟控制 //参数配置//让程序决定第几组第几根引脚如何工作GPIO_InitTypeDef led_gpio;led_gpio.GPIO_Mode GPIO_Mode_OUT; //引脚以输出方式工作led_gpio.GPIO_OType GPIO_OType_PP; //推挽led_gpio.GPIO_Pin GPIO_Pin_9| GPIO_Pin_10 |GPIO_Pin_8;led_gpio.GPIO_SpeedGPIO_High_Speed; //gpio的反应速率不太影响led_gpio.GPIO_PuPdGPIO_PuPd_DOWN; //上拉 GPIO_PuPd_DOWN 下拉//GPIO_PuPd_NOPULLGPIO_Init(GPIOF,led_gpio);GPIO_SetBits(GPIOF, GPIO_Pin_9);GPIO_SetBits(GPIOF, GPIO_Pin_10);uint16_t key00;//时钟使能--KEY开关RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);//GPIO时钟控制 //参数配置//让程序决定第几组第几根引脚如何工作GPIO_InitTypeDef key_gpio;key_gpio.GPIO_Mode GPIO_Mode_IN; //引脚以输入方式工作key_gpio.GPIO_OType GPIO_OType_PP; //推挽key_gpio.GPIO_Pin GPIO_Pin_4| GPIO_Pin_3 |GPIO_Pin_2;//第几根引脚key_gpio.GPIO_SpeedGPIO_High_Speed; //gpio的反应速率不太影响key_gpio.GPIO_PuPdGPIO_PuPd_UP; //上拉 GPIO_PuPd_DOWN 下拉//GPIO_PuPd_NOPULLGPIO_Init(GPIOE,key_gpio); //初始化while(1){//uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);key0 GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4);//默认高电平按下接地if(key01){GPIO_WriteBit(GPIOF, GPIO_Pin_10,1);//led高电平灯灭}else{GPIO_WriteBit(GPIOF, GPIO_Pin_10,0); //led高电平灯亮} } } 2.封装结构 封装后代码 led.c #include stm32f4xx.h // Device headervoid Led_Init() {RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);GPIO_InitTypeDef gpio_init;gpio_init.GPIO_ModeGPIO_Mode_OUT;gpio_init.GPIO_OTypeGPIO_OType_OD;gpio_init.GPIO_PinGPIO_Pin_9|GPIO_Pin_10;gpio_init.GPIO_PuPdGPIO_PuPd_NOPULL;gpio_init.GPIO_SpeedGPIO_High_Speed;GPIO_Init(GPIOF,gpio_init); } led.h void Led_Init(void);//声明 key.c #include stm32f4xx.h // Device headervoid Key_Init() {RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);GPIO_InitTypeDef gpio_key;gpio_key.GPIO_ModeGPIO_Mode_IN;gpio_key.GPIO_OTypeGPIO_OType_OD;gpio_key.GPIO_PinGPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;gpio_key.GPIO_PuPdGPIO_PuPd_UP;gpio_key.GPIO_SpeedGPIO_High_Speed;GPIO_Init(GPIOE,gpio_key); } key.h void Key_Init(void);main.c #include stm32f4xx.h // Device header #include led.h #include key.hint main() {Led_Init();Key_Init();uint8_t key0;while(1){key GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4);//默认高电平按下接地if(key01){GPIO_WriteBit(GPIOF, GPIO_Pin_10,1); //led高电平灯灭} else{GPIO_WriteBit(GPIOF, GPIO_Pin_10,0); //led低电平灯亮} } } 至此main.c代码变简洁了不少而且代码更加易读代码层次也更清晰。
http://www.w-s-a.com/news/731998/

相关文章:

  • 福建亨立建设集团有限公司网站搜狗网页游戏大厅
  • 设计网站musil访问量大的网站选择多少流量的服务器何时
  • 公司网站包括哪些内容新网站怎样做外链
  • 淘宝宝贝链接怎么做相关网站广州好蜘蛛网站建设
  • 长春网站制作网页博山区住房和城乡建设局网站
  • 云南大学网站建设解析到网站怎样做
  • 网站维护的要求包括锦溪网站建设
  • 金站网.营销型网站学校安全教育网站建设
  • 临沂市建设局网站公示军事新闻头条2023
  • 购物网网站建设lamp 做网站
  • 做网站网站庄家html5网站开发技术
  • 无锡门户网站制作电话广告设计公司的未来
  • 白云区专业网站建设网页设计模拟试题答案
  • 毕业设计网站代做多少钱制作旅游网站设计概述
  • 网站开发维护运维无人在线电视剧免费观看
  • 电子商务网站建设开题报告展馆网站建设
  • 门户网站建设的背景和意义手机网站前
  • 国内免费视频素材无水印素材网站国家最新消息
  • 襄阳seo站内优化学做网站论坛教程
  • 文明网站建设情况报告wordpress伪静态配置
  • 牙科网站模板个人微信网站建设
  • 厦门公司注册网站dw做简单小说网站
  • 网站建好以后每年都续费么wordpress 仿聚划算
  • 单位网站建设收费标准网上开店铺需要多少钱
  • 灯饰网站需要这么做申请域名的流程
  • 软件下载网站怎么赚钱wordpress减少数据库查询
  • 什么兼职网站可以做视频剪辑常见的推广平台有哪些
  • 网站开发是用html还是jsp设迹官网
  • 查公司信息的网站怎么学wordpress
  • 白银做网站长春一般建一个网站需要多少钱