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

手机端网站怎么做排名怎么下载wordpress内置的主题

手机端网站怎么做排名,怎么下载wordpress内置的主题,淘宝网页版消息在哪里,网站关键字优化软件注意,此次代码不涉及中断,不涉及中断,不涉及中断 目录 1.初始化LED 2.初始化按键 3.粗略的延时函数 4.判断引脚电平 5.通过异或反转电平 开始 │ ├── 初始化LED(GPIOA Pin1 推挽输出) ├── 初始化按键&…

 注意,此次代码不涉及中断,不涉及中断,不涉及中断

目录

1.初始化LED

2.初始化按键

3.粗略的延时函数

4.判断引脚电平

5.通过异或反转电平 


开始
│
├── 初始化LED(GPIOA Pin1 推挽输出)
├── 初始化按键(GPIOA Pin0 浮空输入)
│
└── 进入无限循环:│├── 检测按键是否被按下(KEY_Scan1)│       ↓│      是│       ↓└── 翻转LED状态(LED_TOGGLE1)

 1.初始化LED

这个就不赘述了,不会的可以看https://blog.csdn.net/a15884871479/article/details/147851781?spm=1001.2014.3001.5501

我们只保留初始化灯的就可以了。

2.初始化按键

初始化按键的代码和初始化LED灯的代码是相类似的

void KEY_Config(void){// 定义一个 GPIO 结构体 GPIO_InitTypeDef gpio_initstruct = {0};RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);   //IO输出状态初始化控制//选择要控制的GPIO引脚、设置GPIO模式为 浮空输入、设置GPIO速率为50MHzgpio_initstruct.GPIO_Pin    =  GPIO_Pin_0;gpio_initstruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;gpio_initstruct.GPIO_Speed  = GPIO_Speed_50MHz;GPIO_Init(GPIOA,&gpio_initstruct);
}

解释:我这里的电路图是配置的上拉输入,具体按键要具体配置。

3.粗略的延时函数

void Rough_Delay_Ms1(__IO uint32_t time) {for (uint32_t i = 0; i < 7 * time; i++) {__NOP();}
}
  • 实现一个粗略的毫秒级延时函数。
  • 延时时间由参数time决定,乘以7是为了估算大约1ms的延迟(具体取决于系统主频)。
  • 使用__NOP()指令进行空操作,占用CPU时间达到延时效果。

4.判断引脚电平

int KEY_Scan1(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint8_t key_press_level)
{if (GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == key_press_level){Rough_Delay_Ms1(20);  // 消抖延时while (GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == key_press_level);Rough_Delay_Ms1(20);  // 释放消抖return 1;} else {return 0;}
}
  • 判断指定的按键是否被按下(通过检测电平变化)。
  • 包含两次延时(20ms)用于消除按键抖动:
    • 第一次延时后再次检查按键状态,确保按键确实被按下。
    • 第二次延时用于按键释放后的稳定。

解释:

PIO_ReadInputDataBit(GPIOx, GPIO_Pin)
作用:读取指定 GPIO 引脚的当前输入值。
返回值:
Bit_SET(即 1)表示该引脚为高电平;
Bit_RESET(即 0)表示该引脚为低电平。

5.通过异或反转电平 

void LED_TOGGLE1(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) {GPIOx->ODR ^= GPIO_Pin;
}

 然后就把他们组合起来就可以了

#include  "stm32f10x.h"void Rough_Delay_Ms1(__IO uint32_t time){for(uint32_t i = 0;i<7*time;i++){__NOP();}}
void LED_Config(void){GPIO_InitTypeDef gpio_initstruct = {0};//初始化gpio结构体//开启端口时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //开启端口时钟//关闭灯GPIO_SetBits(GPIOA,GPIO_Pin_1);//让端口引脚输出1,使得灯灭//配置io模式 推挽模式,50mgpio_initstruct.GPIO_Pin    = GPIO_Pin_1;gpio_initstruct.GPIO_Mode   = GPIO_Mode_Out_PP;gpio_initstruct.GPIO_Speed  = GPIO_Speed_50MHz;GPIO_Init(GPIOA,&gpio_initstruct);//配置端口引脚的模式
}
void KEY_Config(void){// 定义一个 GPIO 结构体 GPIO_InitTypeDef gpio_initstruct = {0};RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);   //IO输出状态初始化控制//选择要控制的GPIO引脚、设置GPIO模式为 浮空输入、设置GPIO速率为50MHzgpio_initstruct.GPIO_Pin    =  GPIO_Pin_0;gpio_initstruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;gpio_initstruct.GPIO_Speed  = GPIO_Speed_50MHz;GPIO_Init(GPIOA,&gpio_initstruct);
}
int KEY_Scan1(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint8_t key_press_level)
{if (GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == key_press_level){Rough_Delay_Ms1(20);  // 消抖延时// 再次确认按键是否仍然处于按下状态while (GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == key_press_level);Rough_Delay_Ms1(20);  // 释放消抖return 1;}else{return 0;}
}
void LED_TOGGLE1(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{GPIOx->ODR ^= GPIO_Pin;
}int main(void)
{LED_Config();KEY_Config();while(1){if (KEY_Scan1(GPIOA, GPIO_Pin_0, 1) == 1){LED_TOGGLE1(GPIOA, GPIO_Pin_1);}}
}

http://www.dtcms.com/wzjs/567454.html

相关文章:

  • 昆明网站建设团队网站设计开发人员
  • 网站后台放在哪里厂房设计
  • 建设和住房保障部 网站地方资讯网站源码
  • 东营做网站seo的WordPress怎么建小站
  • cms网站开发流程办网站 哪些许可
  • 大气简洁网站无锡网站制作优化推广
  • 手机做直播官方网站苏州电信网站备案
  • 织梦网站中的对话框怎摸做2023最近爆发的流感叫什么
  • 中国建设银行网站个人网上银行wordpress主题汉化是什么
  • 大气建站工作室网站源码制作网络游戏
  • 深圳自适应网站推广价格服务器主机如何搭建wordpress
  • 烟台商城网站制作百度收录网站有什么好处
  • 成都网站建设名录wordpress 图片标签
  • 电子商务网站建设合同官方传奇游戏
  • 怎么制作网站教程下载商丘网红有哪几个
  • 办公类网站开发背景北京 建网站
  • 建设网站个类型好商标设计图
  • 网站怎么做才可以做评价近几天发生的新闻大事
  • 有哪些网站程序竞价开户公司
  • 网站建设的公司如何寻找客户wordpress和织梦区别
  • 国外手机设计网站推荐wordpress最新版
  • 东仓建设网站免费自助建站自助建站平台
  • 北京建设建网站一个空间只能放一个网站吗
  • 东莞网站建设aj如何做网站充值接口
  • 厦门做网站建设jsp网站开发需要哪些技术
  • 动漫网站首页设计Wordpress 百度云存储
  • 主题资源网站建设 模块五作业公众号怎么制作文章
  • 北京光辉网站建设wordpress网站修改域名
  • 网站相似度检测 站长2345网址大全电视剧
  • 樊城网站建设深圳乐从网站建设