做网站成功案例制作头像的软件

张小明 2026/1/13 6:51:57
做网站成功案例,制作头像的软件,长沙网站建设接单,快速排名seo软件stm32基础学习——外部中断的使用 一、前言二、准备工作三、编写代码3.1用查询方式实现LED开关3.2用中断方式实现LED开关 四、结束语 所有可用资源可在我的gitee仓库查找#xff0c;点击即可前往。 一、前言 本篇文章继续介绍stm32的一些基本使用#xff0c;文章主要是介绍外…stm32基础学习——外部中断的使用一、前言二、准备工作三、编写代码3.1用查询方式实现LED开关3.2用中断方式实现LED开关四、结束语所有可用资源可在我的gitee仓库查找点击即可前往。一、前言本篇文章继续介绍stm32的一些基本使用文章主要是介绍外部中断的使用同样以按键控制LED灯为例之前我用查询方式来实现的这篇文章尝试用中断的方式实现废话不多说咱们开始。二、准备工作硬件stm32F103C8T6开发板ST-LINK V2下载器一个3~5V的LED灯发光二极管一个四引脚按键一个杜邦线若干面包板软件Keil 5没安装可以点击进入我的另一篇博客有详细下载及配置教程其他需要自行下载点击前往下载template文件即可stm32工程模板由于新建模板比较麻烦初学还是找个工程模板吧方便点电路图三、编写代码为了方便对比我这里先给出用查询方式实现LED灯开关的代码对比可以发现在查询方式中Turn_LED函数是写在while循环里面的而在中断方式里是写在中断函数里面的。3.1用查询方式实现LED开关#includestm32f10x.h#includedelay.huint8_tflag10;//表示是否按下的标志位uint8_tis_led_turn0;//LED灯状态标志位默认为关voidTrun_LED(void);//开灯关灯voidTrun_LED(void){if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)0){flag11;//表示按下Delay(50);if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)1flag11){// 取反状态如按下前为关则置为开反之亦然is_led_turn!is_led_turn;GPIO_WriteBit(GPIOB,GPIO_Pin_10,is_led_turn1?Bit_SET:Bit_RESET);flag10;// 重置}}}intmain(void){//按键引脚初始化RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_PinGPIO_Pin_14;GPIO_InitStruct.GPIO_ModeGPIO_Mode_IPU;//设置为输入上拉模式GPIO_InitStruct.GPIO_SpeedGPIO_Speed_2MHz;GPIO_Init(GPIOB,GPIO_InitStruct);//初始化连接LED的引脚GPIO_InitStruct.GPIO_PinGPIO_Pin_10;GPIO_InitStruct.GPIO_ModeGPIO_Mode_Out_PP;//设置为输出推挽模式GPIO_ResetBits(GPIOB,GPIO_Pin_10);GPIO_Init(GPIOB,GPIO_InitStruct);while(1){Trun_LED();}}上面就是用查询方式实现的当个按键开关控制LED也挺丝滑的哈。3.2用中断方式实现LED开关在stm32中使用中断我感觉还是有点麻烦大概就以下的步骤开启时钟 - 配置GPIO和AFIO - 配置EXTI - 配置NVIC - 配置中断函数大概就这些了。#includestm32f10x.h#includedelay.huint8_tis_led_turn0;//LED灯状态标志位默认为关voidTurn_LED(void);//开灯关灯voidKey_Init(void);//初始化中断voidEXTI0_IRQHandler(void);//中断函数voidKey_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//配置AFIOGPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource14);//配置EXTIEXTI_InitTypeDef EXTI_InitStructure;EXTI_InitStructure.EXTI_LineEXTI_Line14;EXTI_InitStructure.EXTI_LineCmdENABLE;EXTI_InitStructure.EXTI_ModeEXTI_Mode_Interrupt;//中断模式EXTI_InitStructure.EXTI_TriggerEXTI_Trigger_Falling;//下降沿出发EXTI_Init(EXTI_InitStructure);//配置NVICNVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannelEXTI15_10_IRQn;NVIC_InitStructure.NVIC_IRQChannelCmdENABLE;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority1;//抢占优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority1;//响应优先级NVIC_Init(NVIC_InitStructure);}// 这里注意// GPIO引脚0~4使用的是独立中断线Line0~4Line5-9是同一中断线Line10-15同一中断线// 如果使用的是同一中断线下面的函数名相应的改动如EXTI0_IRQHandler()voidEXTI15_10_IRQHandler(void){//配置中断函数函数if(EXTI_GetITStatus(EXTI_Line14)SET){//中断标志判断Delay(10);Turn_LED();}EXTI_ClearITPendingBit(EXTI_Line14);// 清除标志位}voidTurn_LED(void){//按键按下if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)0){// 取反状态如按下前为关则置为开反之亦然is_led_turn!is_led_turn;GPIO_WriteBit(GPIOB,GPIO_Pin_10,is_led_turn1?Bit_SET:Bit_RESET);//等待松开防止重复进入中断(学习使用工作中应避免这种用法)while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)0);Delay(10);}}intmain(void){//按键引脚初始化RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_PinGPIO_Pin_14;GPIO_InitStruct.GPIO_ModeGPIO_Mode_IPU;//设置为输入上拉模式GPIO_InitStruct.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOB,GPIO_InitStruct);//初始化连接LED的引脚GPIO_InitStruct.GPIO_PinGPIO_Pin_10;GPIO_InitStruct.GPIO_ModeGPIO_Mode_Out_PP;//设置为输出推挽模式GPIO_ResetBits(GPIOB,GPIO_Pin_10);GPIO_Init(GPIOB,GPIO_InitStruct);Key_Init();//初始化中断while(1){//Turn_LED();}}四、结束语好了stm32的基本使用——外部中断的使用先介绍到这后续有时间我继续更新这方面的文章敬请期待我是“风行男孩”咱有缘再见码字不易转载请标明出处若是文章有帮助点个赞留个痕迹即可。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

海口 做网站小程序开发费用一览表

1.这道题首先要有一个判断是不是素数的函数,而判断写一个函数就要尽可能的把这个函数写的健壮性要高,(0和1用来判断这个数是不是素数)首先判断小于等于1的数据,肯定不是素数直接返回0,判断2是素数返回1&…

张小明 2026/1/12 20:11:21 网站建设

两个男的怎么做网站网网站建设公司咨询

DeepLX终极部署指南:零成本解锁专业翻译服务 【免费下载链接】DeepLX DeepL Free API (No TOKEN required) 项目地址: https://gitcode.com/gh_mirrors/de/DeepLX 还在为DeepL官方API的昂贵费用而头疼吗?想不想拥有一套完全免费的翻译解决方案&am…

张小明 2026/1/9 12:25:21 网站建设

移动网站建设服务商Wordpress哪些出现403

在Nginx的配置体系中,location模块无疑是核心中的核心。它负责根据请求的URI路径,将请求分发到不同的处理逻辑(如静态资源目录、反向代理地址、FastCGI服务等)。无论是搭建静态网站、配置反向代理,还是实现URL重写&…

张小明 2026/1/9 17:04:16 网站建设

做非法网站会怎样wordpress wending

SQL与XML的融合:探索数据处理新境界 1. 引言 在互联网和Web技术不断发展的今天,可扩展标记语言(XML)和结构化查询语言(SQL)成为了处理和管理数据的重要工具。XML是一种用于表示和交换结构化数据的标准语言,而SQL则是定义、访问和更新关系数据库中结构化数据的标准语言…

张小明 2026/1/9 23:59:43 网站建设

网站建设域名百度网站app下载

Godot雨滴特效进阶:从基础到高级的完整实现指南 【免费下载链接】godot Godot Engine,一个功能丰富的跨平台2D和3D游戏引擎,提供统一的界面用于创建游戏,并拥有活跃的社区支持和开源性质。 项目地址: https://gitcode.com/GitHu…

张小明 2026/1/9 19:56:59 网站建设

如何知道网站的字体国家标准物质网站建设

书接上回,000号真不愧为我司段子手 提出: 先给客户洗脑,再给客户洗澡。我当场真想送000号两记 “大悲手”只见000号,挂起老式耳机,两耳一塞(谁都不爱),实际上,开始 马扁…

张小明 2026/1/13 0:16:51 网站建设