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

怎么提高网站速度wordpress容易被黑么

怎么提高网站速度,wordpress容易被黑么,石家庄便宜网站制作,好的软件开发培训机构使用S™ 32设置GPIO中断 中断示例按键中断实例设计#xff1a;EXTI0和EXTI9硬件连接分析STM32代码实现代码说明 中断示例 设计一个按键中断的实例。设置两个中断#xff1a;EXTI0、EXTI9#xff0c; 在EXTI9的中断服务之程序中实现LED灯的控制 按键中断实例设计#xff… 使用S™ 32设置GPIO中断 中断示例按键中断实例设计EXTI0和EXTI9硬件连接分析STM32代码实现代码说明 中断示例 设计一个按键中断的实例。设置两个中断EXTI0、EXTI9 在EXTI9的中断服务之程序中实现LED灯的控制 按键中断实例设计EXTI0和EXTI9 根据提供的电路图我将设计一个基于STM32的按键中断系统其中两个按键分别连接到EXTI0和EXTI9引脚并通过EXTI9的中断服务程序控制LED灯组。 硬件连接分析 从电路图可以看出 两个按键Key Button 和Wakeup Button通过上拉/下拉电阻连接到微控制器EXTI0连接到第一个按键输入EXTI9连接到第二个按键输入四个LED灯带限流电阻连接到微控制器的GPIO引脚 STM32代码实现 #include stm32f10x.h // 假设使用STM32F10x系列可根据实际芯片修改// LED相关定义 #define LED_PORT GPIOB #define LED_PIN_ALL (GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11) #define LED_ALL_ON() GPIO_SetBits(LED_PORT, LED_PIN_ALL) #define LED_ALL_OFF() GPIO_ResetBits(LED_PORT, LED_PIN_ALL)// 按键相关定义 #define KEY0_PORT GPIOA #define KEY0_PIN GPIO_Pin_0 // EXTI0对应PA0 #define KEY1_PORT GPIOA #define KEY1_PIN GPIO_Pin_9 // EXTI9对应PA9// 中断标志位 volatile uint8_t Key0Pressed 0; volatile uint8_t Key1Pressed 0;// LED状态变量 volatile uint8_t ledState 0; // 0:全灭, 1:交替闪烁, 2:全部点亮/** 函数名EXTI0_IRQHandler* 描述EXTI0中断服务程序* 输入无* 输出无*/外部中断函数EXTI0_IRQHandler void EXTI0_IRQHandler(void) {// 检查是否是KEY0触发的中断if(EXTI_GetITStatus(EXTI_Line0) ! RESET){// 清除中断标志位EXTI_ClearITPendingBit(EXTI_Line0);// 设置按键0被按下的标志Key0Pressed 1;} }/** 函数名EXTI9_5_IRQHandler* 描述EXTI9-5中断服务程序* 输入无* 输出无*/EXTI9-5中断服务程序EXTI9中断服务程序中实现了三种LED控制模式 void EXTI9_5_IRQHandler(void) {// 检查是否是KEY1触发的中断if(EXTI_GetITStatus(EXTI_Line9) ! RESET){// 清除中断标志位EXTI_ClearITPendingBit(EXTI_Line9);// 设置按键1被按下的标志Key1Pressed 1;// 控制LED灯switch(ledState){case 0: // 全灭LED_ALL_ON();ledState 1;break;case 1: // 全部点亮LED_ALL_OFF();ledState 2;break;case 2: // 交替闪烁模式GPIO_Write(LED_PORT, (GPIO_ReadOutputData(LED_PORT) ^ LED_PIN_ALL));break;}} }/** 函数名KEY_Init* 描述初始化按键GPIO和中断* 输入无* 输出无*/ void KEY_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;EXTI_InitTypeDef EXTI_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;// 使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);// 配置KEY0和KEY1为浮空输入GPIO_InitStructure.GPIO_Pin KEY0_PIN | KEY1_PIN;GPIO_InitStructure.GPIO_Mode GPIO_Mode_IN_FLOATING;GPIO_Init(KEY0_PORT, GPIO_InitStructure);// 使能AFIO时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);// 配置KEY0为EXTI0中断线GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);配置EXIT线EXTI_InitStructure.EXTI_Line EXTI_Line0;EXTI_InitStructure.EXTI_Mode EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger EXTI_Trigger_Falling; // 下降沿触发EXTI_InitStructure.EXTI_LineCmd ENABLE;EXTI_Init(EXTI_InitStructure);// 配置KEY1为EXTI9中断线GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource9);EXTI_InitStructure.EXTI_Line EXTI_Line9;EXTI_Init(EXTI_InitStructure);// 配置NVIC中断优先级NVIC_InitStructure.NVIC_IRQChannel EXTI0_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority 0;NVIC_InitStructure.NVIC_IRQChannelCmd ENABLE;NVIC_Init(NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel EXTI9_5_IRQn;NVIC_Init(NVIC_InitStructure); }/** 函数名LED_Init* 描述初始化LED GPIO* 输入无* 输出无*/ void LED_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;// 使能GPIOB时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);// 配置LED端口为推挽输出GPIO_InitStructure.GPIO_Pin LED_PIN_ALL;GPIO_InitStructure.GPIO_Mode GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(LED_PORT, GPIO_InitStructure);// 初始状态全灭LED_ALL_OFF(); }int main(void) {// 初始化按键和LEDKEY_Init();LED_Init();while(1){// 检查KEY0是否被按下if(Key0Pressed){// 短暂延时消除抖动for(volatile uint32_t i 0; i 10000; i);// 处理按键事件// 这里可以添加其他功能// 清除标志位Key0Pressed 0;}// 检查KEY1是否被按下if(Key1Pressed){// 短暂延时消除抖动for(volatile uint32_t i 0; i 10000; i);// 清除标志位Key1Pressed 0;}// 可以在这里添加其他主循环逻辑} }代码说明 硬件配置 EXTI0连接到PA0引脚EXTI9连接到PA9引脚四个LED灯连接到PB8-PB11引脚 中断配置 EXTI0和EXTI9均配置为下降沿触发为两个中断分配了相同的优先级 LED控制 EXTI9中断服务程序中实现了三种LED控制模式 全灭 → 全部点亮 → 交替闪烁 使用ledState变量跟踪当前LED状态 按键消抖 在主循环中通过延时实现简单的按键消抖 中断标志位 使用Key0Pressed和Key1Pressed变量作为中断标志位 这个设计实现了按键检测和LED控制的基本功能可以根据实际需求进一步扩展和优化。
http://www.w-s-a.com/news/602996/

相关文章:

  • 南宁企业网站建设制作芜湖网站建设推广
  • 泉州市建设局网站公示深圳建站公司好坏
  • 如何搭建网站教程一个人制作网站
  • 网站开发专业都有哪些课程广州安全教育平台账号找回
  • 网站调整方案适合平面设计师的网站
  • 免费服务器建立网站用html5做的旅游网站代码
  • 学校英语网站栏目名称WordPress禁用邮件注册
  • 手机qq网页版网站沧州手机网站开发
  • 深圳罗湖网站设计公司建设的网站属于无形资产吗
  • 网站开发python西安网站建站品牌
  • 网站开发商标属于哪一类做网站还有钱赚吗
  • 做设计的搜素材上什么网站好设计公司画册设计哪家好
  • 视频网站开发需要什么语言做ui设计一年后年薪多少
  • 网站服务器维护费用统一企业官方网站
  • 网站如何调用手机淘宝做淘宝客呼和浩特网站运营公司
  • 做推广可以上那些网站网页游戏排行榜2014前十名
  • 国外网站备案流程企业网站 流程
  • 重庆网站建设letide童程童美少儿收费价目表
  • 苏州建站仿站东莞排名推广
  • 大中小网站的区分wordpress个人主页主题
  • 商务网站建设的可行性分析包括小程序源码网免费
  • 永州网站建设收费标准重庆网站建设公司夹夹虫专业
  • python做网站多少钱wordpress 2.8
  • 深圳网站平台网站开发工作程序怎么写
  • 自己可以接单做网站吗wordpress 添加自定义按钮
  • 网站首页权重宣传页制作
  • 智能网站建设软件有哪些方面网页的建设
  • 石铜路网站建设生鲜电商网站开发
  • 怎么提高网站加载速度慢网站的轮播怎么做的
  • 网络网站推广优化建筑工程教育网官方网站