강좌 시리즈 보러 가기
잡동사니 세상 :: stm32 레지스터 직접 접근 (소개) (tistory.com)
stm32 레지스터 직접 접근 (소개)
저번에 올린 3개짜리 짧은 포스트는 중단하고, 이번에 산 책 내용을 기반으로 stm32f103zet6를 제어해보려고 합니다. 라이브러리를 사용하는 방식보단, 레지스터에 직접적으로 접근하여 보다 Microcon
pkr7098.tistory.com
LED 다루는 방법
(이해한 내용을 기반으로 쉽게 설명했으니
원래 의미와 다소 차이가 있을 수 있다.)
일단 LED 켜는 것부터
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include "stm32f10x.h"
void init_port() {
GPIO_InitTypeDef LED;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);
LED.GPIO_Pin = 0x0004; //(2번 핀 사용 0b0000000000000100
LED.GPIO_Mode = GPIO_Mode_Out_PP; //Push Pull, Output
LED.GPIO_Speed = GPIO_Speed_50MHz; //GPIO 출력 속도(on, off 바뀌는 속도) 50MHZ로 설정
GPIO_Init(GPIOG, &LED); //GPIO 설정 끝 & 시작
}
//////////////////////////////////////////////////////////////////////////////////////////
int main(void) {
init_port(); //위에서 만든 함수 (LED 핀 설정 & 초기화 함수
GPIO_SetBits(GPIOG, GPIO_Pin_2); // GPIOG에서 2번 핀을 HIGH상태로 만든다.
};
|
cs |
LED 핀은 PG2번을 사용했다.
그랬기 때문에 GPIOG와 그에 관한 설정들만 했다.
2번 핀에 HIGH 신호를 보내는 코드이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include "stm32f10x.h"
void init_port() {
GPIO_InitTypeDef LED;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG, ENABLE);
LED.GPIO_Pin = 0x0004; //(2번 핀 사용 0b0000000000000100
LED.GPIO_Mode = GPIO_Mode_Out_PP; //Push Pull, Output
LED.GPIO_Speed = GPIO_Speed_50MHZ; //GPIO 출력 속도(on, off 바뀌는 속도) 50MHZ로 설정
GPIO_Init(GPIOG, &LED); //GPIO 설정 끝 & 시작
}
//////////////////////////////////////////////////////////////////////////////////////////
int main(void) {
init_port(); //위에서 만든 함수 (LED 핀 설정 & 초기화 함수
GPIO_ResetBits(GPIOG, GPIO_Pin_2); // GPIOF에서 2번 핀을 LOW상태로 만든다.
};
|
cs |
2번 핀에 LOW신호를 보내는 코드이다.
위의 GPIO_SetBits를 GPIO_ResetBits으로 바꾼 것뿐이다.
|
|
결과
LED 끄기
|
|
결과
쉽게 설명하는 것이 목적이었기 때문에
실제 기능과 다른 것들이 있을 수 있다.
나의 식물일지 어플 보러 가기
https://pkr7098.tistory.com/155
나의 식물일지 어플리케이션
최근에 취미로 만든 어플리케이션을 테스트버전으로 출시하게 되었습니다. https://play.google.com/apps/testing/com.keyand.plant_temp 여러분이 키우고 계신 식물에 대한 일지를 작성할 수 있는 어플로 깔끔
pkr7098.tistory.com
'stm32 > 실전' 카테고리의 다른 글
엔코더 모터 제어 (2. 속도 계산) (4) | 2021.03.16 |
---|---|
엔코더 모터 제어 (1. 펄스및 위치 측정) (6) | 2021.03.04 |
엔코더 모터 제어 (0. 소개) (5) | 2021.02.28 |
02 쉬운 stm32 버튼 제어 (0) | 2018.11.20 |
stm32사용하기 LED & KEY (0) | 2018.10.26 |