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

张小明 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进行投诉反馈,一经查实,立即删除!

网站怎么加友情链接asp公司网站

Kotaemon与Slack/DingTalk集成:打造办公场景智能助手 在现代企业里,每天都在上演这样一幕:员工在钉钉群里反复追问“报销流程怎么走”,HR不得不一遍遍复制粘贴制度文档;技术支持团队被“密码重置”这类基础问题淹没&am…

张小明 2026/1/11 1:24:27 网站建设

wordpress打开网站前广告青岛网络平台

在高等教育的不同阶段,学术写作始终是一道隐形门槛。本科生写课程论文时纠结“如何引用才不算抄袭”,准毕业生面对毕业设计报告苦于“有数据却不会论述”,而硕士生则在期刊投稿与学位论文之间疲于奔命——明明研究做了不少,却总被…

张小明 2026/1/10 22:15:58 网站建设

快速开发企业网站网站建设推广的方法

如何在 Android Studio 开发 APP 项目中嵌入 Linly-Talker 数字人模块 在移动应用日益追求“拟人化交互”的今天,用户不再满足于冷冰冰的界面点击操作。他们希望与 APP 对话、获得有温度的回应,甚至看到一个“会说话的数字人”面对自己讲解内容。这种需…

张小明 2026/1/10 13:33:10 网站建设

源码建网站山东企业网站建设推荐

在LED显示技术广泛应用于各类电子设备的今天,一款具备多通道、高精度调控能力的驱动芯片,是保障显示效果与系统稳定性的核心基础。HTR3218作为一款专为多路LED应用场景打造的18路LED PWM驱动器,凭借其丰富的功能配置、灵活的控制方式以及出色…

张小明 2026/1/10 22:35:38 网站建设

seo有哪些优化工具灰色词seo推广

网络安全学习宝典:3个月入门VS半年挣扎,收藏这份高效学习法,少走弯路! 文章系统化呈现了网络安全高效学习路线,从理论知识、渗透测试基础、操作系统、网络协议到Web渗透,强调编程能力是"脚本小子&quo…

张小明 2026/1/11 8:15:38 网站建设

济宁亿蜂网站建设扶余网站建设

BabelDOC问题排查终极指南:快速解决文档翻译常见问题 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 还在为BabelDOC翻译文档时遇到各种错误而烦恼吗?这份终极指南将帮助…

张小明 2026/1/11 22:13:26 网站建设