概述
上一节“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
暂无评论