반응형
강좌 보러 가기
잡동사니 세상 :: stm32 레지스터 직접 접근 (소개) (tistory.com)
버튼
Pull up버튼을 기반으로 GPIOG 3번이며
LED는 GPIOG 2번이다.
2018/10/27 - [아두이노 스터디] - 02 버튼(풀업, 풀다운)
더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#include "stm32f10x.h"
void init_port() {
GPIO_InitTypeDef LED;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);
LED.GPIO_Pin = 0x0004;
LED.GPIO_Mode = GPIO_Mode_Out_PP;
LED.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOG, &LED);
}
void init_key() {
GPIO_InitTypeDef KEY;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);
KEY.GPIO_Pin = 0x0008;
KEY.GPIO_Mode = GPIO_Mode_IN_FLOATING; //INPUT모드로
KEY.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOG, &KEY);
}
int main(void) {
init_port();
init_key(); //버튼 관련 초기화 함수
while(1) {
if(GPIO_ReadInputDataBit(GPIOG, GPIO_Pin_3)) {//버튼 안 눌렸을 때
GPIO_ResetBits(GPIOG, GPIO_Pin_2); //LED 끈다.
}
else { //버튼 눌렀을 때
GPIO_SetBits(GPIOG, GPIO_Pin_2); //LED 켠다.
}
}
};
|
cs |
LED는 GPIOG 2번에 연결
버튼은 GPIOG 3번에 PULL UP으로 연결
따라서 버튼이 눌렸을 때 LED가 켜진다.
반응형
'stm32 > 실전' 카테고리의 다른 글
엔코더 모터 제어 (2. 속도 계산) (4) | 2021.03.16 |
---|---|
엔코더 모터 제어 (1. 펄스및 위치 측정) (6) | 2021.03.04 |
엔코더 모터 제어 (0. 소개) (5) | 2021.02.28 |
01. 쉬운 stm32 GPIO, LED제어 (0) | 2018.11.19 |
stm32사용하기 LED & KEY (0) | 2018.10.26 |