新闻中心

EEPW首页>嵌入式系统>设计应用> STM8学习笔记(二):GPIO的输入

STM8学习笔记(二):GPIO的输入

作者: 时间:2016-11-24 来源:网络 收藏
这两天有点忙,焊了四个按键,在LED灯的基础上,实现GPIO的输入

这次用的是ST公司的官方库

本文引用地址://m.amcfsurvey.com/article/201611/320894.htm

组要的还是要理解GPIO的几个寄存器的功能

同时,要好好的理解它官方库里面的函数定义和用法

/**************************************************************/

void GPIO_Configuration(void)
{
GPIO_Init(LEDS_PORT, (LED1_PIN | LED2_PIN | LED3_PIN | LED4_PIN |
LED5_PIN | LED6_PIN | LED7_PIN | LED8_PIN),
GPIO_MODE_OUT_PP_HIGH_FAST);
GPIO_Init(KEYS_PORT,(KEY1_PIN | KEY2_PIN | KEY3_PIN | KEY4_PIN),
GPIO_MODE_IN_PU_NO_IT);//配置PF7,PF6,PF5,PF4上拉输入
}

这个是GPIO的配置

/****************************************************************/

#define LEDS_PORT (GPIOD)
#define LED1_PIN (GPIO_PIN_7)
#define LED2_PIN (GPIO_PIN_6)
#define LED3_PIN (GPIO_PIN_5)
#define LED4_PIN (GPIO_PIN_4)
#define LED5_PIN (GPIO_PIN_3)
#define LED6_PIN (GPIO_PIN_2)
#define LED7_PIN (GPIO_PIN_1)
#define LED8_PIN (GPIO_PIN_0)

#define LED1_ON GPIO_WriteLow(LEDS_PORT,(LED1_PIN))
#define LED1_OFF GPIO_WriteHigh(LEDS_PORT,(LED1_PIN))

#define LED2_ON GPIO_WriteLow(LEDS_PORT,(LED2_PIN))
#define LED2_OFF GPIO_WriteHigh(LEDS_PORT,(LED2_PIN))

#define LED3_ON GPIO_WriteLow(LEDS_PORT,(LED3_PIN))
#define LED3_OFF GPIO_WriteHigh(LEDS_PORT,(LED3_PIN))

#define LED4_ON GPIO_WriteLow(LEDS_PORT,(LED4_PIN))
#define LED4_OFF GPIO_WriteHigh(LEDS_PORT,(LED4_PIN))

#define LED5_ON GPIO_WriteLow(LEDS_PORT,(LED5_PIN))
#define LED5_OFF GPIO_WriteHigh(LEDS_PORT,(LED5_PIN))

#define LED6_ON GPIO_WriteLow(LEDS_PORT,(LED6_PIN))
#define LED6_OFF GPIO_WriteHigh(LEDS_PORT,(LED6_PIN))

#define LED7_ON GPIO_WriteLow(LEDS_PORT,(LED7_PIN))
#define LED7_OFF GPIO_WriteHigh(LEDS_PORT,(LED7_PIN))

#define LED8_ON GPIO_WriteLow(LEDS_PORT,(LED8_PIN))
#define LED8_OFF GPIO_WriteHigh(LEDS_PORT,(LED8_PIN))

#define KEYS_PORT (GPIOF)
#define KEY1_PIN (GPIO_PIN_7)
#define KEY2_PIN (GPIO_PIN_6)
#define KEY3_PIN (GPIO_PIN_5)
#define KEY4_PIN (GPIO_PIN_4)

这个是IO的一些定义

呵呵,太长了,具体工程在附件中,写的有点冗长。。。

不停的总结,不停的进步



评论


技术专区

关闭