STM32(7):中断方式让按键点亮LED

文章目录[隐藏]

概述

上一节“STM32(5):轮训方式让按键点亮LED”实现了基于轮训的方式,实现点亮LED灯,本节将基于另外一种通信方式:中断方式,来实现点亮LED。

代码概览

void delay(unsigned int time)
{
		unsigned int i = 0;
		while (time--)
		{
				i = 1000000;
				while (i--)
						;
		}
}

u8 key_read()
{
		u8 result = 0;
		// delay(1);
		// 注意这里是读取InputDataBit
		result = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12);

		return result;
}

void led_init()
{
		GPIO_InitTypeDef led;

		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
		led.GPIO_Pin = GPIO_Pin_13;
		led.GPIO_Mode = GPIO_Mode_Out_PP;
		led.GPIO_Speed = GPIO_Speed_50MHz;
		GPIO_Init(GPIOC, &led);
		GPIO_WriteBit(GPIOC, GPIO_Pin_13, Bit_SET);
}

void key_init()
{
		GPIO_InitTypeDef key;

		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
		key.GPIO_Pin = GPIO_Pin_12;
		key.GPIO_

版权声明:本文为CSDN博主「张叫兽的技术研究院」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiashiwendao/article/details/122610954

概述

上一节“STM32(5):轮训方式让按键点亮LED”实现了基于轮训的方式,实现点亮LED灯,本节将基于另外一种通信方式:中断方式,来实现点亮LED。

代码概览

void delay(unsigned int time)
{
		unsigned int i = 0;
		while (time--)
		{
				i = 1000000;
				while (i--)
						;
		}
}

u8 key_read()
{
		u8 result = 0;
		// delay(1);
		// 注意这里是读取InputDataBit
		result = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12);

		return result;
}

void led_init()
{
		GPIO_InitTypeDef led;

		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
		led.GPIO_Pin = GPIO_Pin_13;
		led.GPIO_Mode = GPIO_Mode_Out_PP;
		led.GPIO_Speed = GPIO_Speed_50MHz;
		GPIO_Init(GPIOC, &led);
		GPIO_WriteBit(GPIOC, GPIO_Pin_13, Bit_SET);
}

void key_init()
{
		GPIO_InitTypeDef key;

		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
		key.GPIO_Pin = GPIO_Pin_12;
		key.GPIO_

版权声明:本文为CSDN博主「张叫兽的技术研究院」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiashiwendao/article/details/122610954

生成海报
点赞 0

张叫兽的技术研究院

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

STM32(7):中断方式让按键点亮LED

概述 上一节“STM32(5):轮训方式让按键点亮LED”实现了基于轮训的方式,实现点亮LED灯,本节将基于另外一种通信方式:中断方式,来实现点亮LED。 代码概览 void delay(unsigned int time) {unsig

stm32添加.c和.h文件问题

防止自己忘记stm32相关问题的解决方法,在这里写下记录 在工程的group中添加.c和.h文件 具体添加方法,这里已经写的很清楚 https://blog.csdn.net/dang_dang_/article/d

STM32 printf重定向(串口输出)

一、前言 什么是重定向?重定向是指将fputc里面的输出指向目标设备。因printf函数调用了fputc,而fputc输出有默认指向的目标,且不同库中的fputc输出指向不同,所以需要重写fputc