//GPIOA8是 LED0 //GPIOA13是 KEY0 仅包含启动代码 STM32F10x.s #define GPIOA_CRL (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x00)) #define GPIOA_CRH (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x04)) #define GPIOA_IDR (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x08)) #define GPIOA_ODR (*(volatile unsigned long *)(0x40000000+0x10000+0x0800+0x0C)) #define RCC_APB2ENR (*(volatile unsigned long *)(0x40000000+0x20000+0x1000+0x18)) void delay(unsigned long i) //超级不精确的软延时 { int j; while(i--) { for(j=0;j<1500;j++) {} } } int main(void) { u8 keyflag=1; //按键进入标志,防止一次按键多次判断的简易做法 RCC_APB2ENR= 1<<2; //打开PA时钟,默认启用内部8M时钟 GPIOA_CRH &= 0XFFFFFFF0; //准备配置PA8 ,PA8是LED0 GPIOA_CRH |= 0X00000003; //PA8 推挽输出 GPIOA_ODR |= 1<<8; //PA8 输出高,即先关闭led GPIOA_CRH &= 0XFF0FFFFF; //准备配置PA13 ,PA13是KEY0 GPIOA_CRH |= 0X00800000; //配置PA13为带上拉下拉输入 while(1) { if(!checkBit(GPIOA_IDR,13)) //键被按下的话,执行led反转 { if(keyflag) { keyflag=0; GPIOA_ODR = revBit(GPIOA_ODR,8); //第8位反转,revBit是宏 } } else { keyflag=1; } delay(10); //简易消抖 } } //checkBit 和revBit都是关于位的宏 //#define BIT(n) (1<<(n)) //#define revBit(val,n) ((val)^(BIT(n))) //#define checkBit(val,n) (((val)&(BIT(n)))>>(n))
相关推荐
stm32f1实验3 按键输入实验 stm32f1实验3 按键输入实验 stm32f1实验3 按键输入实验 stm32f1实验3 按键输入实验 stm32f1实验3 按键输入实验 stm32f1实验3 按键输入实验 stm32f1实验3 按键输入实验 stm32f1实验3 按键...
在STM32的开发过程中,按键输入是一个基本但至关重要的功能,它使得用户能够与系统进行交互。下面我们将详细探讨STM32的按键输入程序及其相关知识点。 首先,STM32的按键输入通常通过GPIO(General-Purpose Input/...
以STM32CubeMX为依托,基于HAL库的STM32学习笔记之按键开发基础,使用STM32F103ZET6开发板,实现对按键的控制,了解了上拉、下拉电阻的原理,体会了按下按键切换状态,与按下按键,松开之后再切换状态的区别
3. **GPIO(通用输入/输出)**:STM32的GPIO接口用于与外部设备交互,如LED、按键等。你需要学习如何设置GPIO的工作模式(输入、输出、复用功能等)以及配置其速度和推挽/开漏模式。 4. **中断和定时器**:中断是...
在这个特定的项目中,我们将关注如何使用STM32F407处理按键输入,并通过蜂鸣器和LED灯进行反馈,这些都是嵌入式系统中最基础且重要的交互元素。 首先,我们需要理解STM32F407的GPIO(General Purpose Input/Output...
在STM32的开发过程中,按键输入是一个基本但至关重要的功能,它使得用户能够与系统进行交互。下面我们将详细探讨STM32的按键输入相关知识。 首先,STM32的GPIO(General Purpose Input/Output)接口是实现按键输入...
在这个实验中,我们将深入理解如何使用STM32F103处理按键输入,通过KEIL开发环境和C语言进行编程。 首先,STM32F103的GPIO(General-Purpose Input/Output)接口是实现按键输入的关键。GPIO端口可以配置为输入或...
STM32触摸按键技术是嵌入式系统设计中一个实用且常见的功能,尤其在便携式设备和智能家居产品中广泛应用。STM32是意法半导体(STMicroelectronics)推出的一系列基于ARM Cortex-M内核的微控制器,以其高性能、低功耗...
### STM32-按键输入实验学习笔记 #### 一、实验背景与目的 在嵌入式系统开发过程中,用户输入是非常关键的一个环节。通过按键获取用户的指令或数据,是实现人机交互的一种常见方式。本实验旨在通过STM32单片机实现...
【标题】"STM32F103 按键输入"涉及的是嵌入式系统开发中的一个常见任务,即如何在基于STM32F103微控制器的硬件平台上实现用户输入,尤其是通过按键进行交互。STM32F103是意法半导体(STMicroelectronics)生产的ARM ...
[STM32自学笔记].蒙博宇
在这个项目中,我们将探讨如何利用STM32单片机通过按键来实现一个简单的时钟功能。这个功能不仅能够帮助初学者理解STM32的IO口操作、中断处理和时间管理,而且也是实际应用中的常见需求。 首先,我们需要了解STM32...
在STM32开发过程中,按键输入是一个基础且重要的功能,它使得用户可以通过物理按键与设备进行交互。本篇文章将深入讲解STM32中如何实现按键输入,包括硬件连接、软件编程以及中断处理等方面。 首先,我们要了解STM...
本资源“《STM32自学笔记》随书共享资料”提供了全面的学习STM32开发所需的知识点,包括基础理论、实践应用和编程技巧。 1. **STM32内核结构**:STM32系列采用的是ARM Cortex-M系列处理器,如M0、M3、M4或M7,它们...
【标题】:“脉冲宽度计(占空比) 单输入捕获+中断方式(STM32+CubeIDE+HAL)”所涉及的知识点主要集中在嵌入式系统、微控制器编程以及数字信号处理方面。STM32是一款基于ARM Cortex-M内核的微控制器,而CubeIDE是...
在STM32中,实现按键输入是基础且重要的功能之一,它通常涉及到GPIO(General Purpose Input/Output)接口的配置、中断处理以及相应的软件编程。 在STM32的按键输入程序中,首先我们需要对GPIO口进行初始化。这包括...
STM32F103拥有多个GPIO端口,每个端口包含多个引脚,这些引脚可以配置为输入或输出,以控制LED或读取按键状态。在实现按键扫描时,通常将按键连接到GPIO输入引脚,并设置适当的中断机制,以便在按键按下时能够及时...
本资源“STM32自学笔记 随书资料”是一份全面的学习STM32开发的参考资料,旨在帮助初学者快速入门并深入理解STM32的工作原理和编程技巧。 一、STM32架构与特性 STM32系列涵盖了多种型号,主要基于Cortex-M0、M3、M4...
本教程将通过一个基础的STM32按键点灯实验,来探讨如何使用寄存器版程序实现这一功能,这对于初学者理解和掌握STM32的工作原理极其重要。 首先,我们要理解STM32的GPIO(General Purpose Input/Output)口,它是STM...
教程 7、stm32单片机之模拟按键控制单个舵机教程 7、stm32单片机之模拟按键控制单个舵机教程 7、stm32单片机之模拟按键控制单个舵机教程 7、stm32单片机之模拟按键控制单个舵机教程 7、stm32单片机之模拟按键控制...