inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.

HAL드라이브 없이 GPIO제어 하기 2

GPIO라이브러리없이 LED ON/OFF하기-주소번지 다른이유?

해결된 질문

238

wjddd12

작성한 질문수 2

0

HAL_GPIO_WritePin(GPIO_LED_GPIO_Port, GPIO_LED_Pin, GPIO_PIN_SET);

1.켠다

*(0x40011000) = (8192);

*reg2= 0x2000;

2.끈다

*(0x40011000)= (8192<<16);

*reg2= (0x2000 << 16);

이라고 해석이 되었는데 , 실제 디버깅 시에는 *(0x40011000) 가 아니라 *(0x40011010) 일때 동작하는 이유가 무엇인가요?

Raspberry-Pi arduino 임베디드

답변 1

0

ojtube5

실제 디버깅 시에는 (0x40011000) 가 아니라 (0x40011010) 일때 동작하는 이유가 무엇인가요?

 

좀 더 자세히 설명을 드릴게요.

GPIO의 레지스터가 있고, Cport에 해당하는 것은 0x40011000이 맞아요.

그런데 이 안에 또 세부적으로 나뉘는게 있어요. (레퍼런스 메뉴얼 171쪽 부터 보시면 나와요)

CRL, CRH, IDR, BSRR 등등.

근데, gpio를 set하고 reset하려면

BSRR을 조작을 해야하고요.

BSRR의 offset이 0x10입니다.

그래서 0x40011010이 되는 거예요. (3:28 초 쯤에 보면 GPIOx->BSRR 이라고 나와요.)

111번째 강의까지 진행했는데, 온도 정보 받아오는 게 안돼요.

0

21

1

GPIO 간단 제어해보기 강의

0

42

2

브레이크포인트

0

34

1

STM IDE 설치 과정 중 에러 문의

0

27

1

STM IDE 설치 강의 중 문의

0

47

2

102. 난방실만들기4에서 디버깅 질문드립니다

0

35

1

13강 프로젝트생성해보기 관련 질문

0

58

3

난방실만들기.4 진행 중, m_state 값 초기화가 안됩니다..

0

66

2

IDE 설치 영상 관련 문의

0

71

2

[정보 공유] STM32CubeIDE 버전별 이슈 정리 (1.19 미만 / 2.0.0 이상)

0

243

2

스위치회로 value값 바뀌지 않음

0

65

2

FND 점등에 성공했는데, Controller.c 디버깅 중 문제가 생겼습니다.

0

84

2

FND 7세그먼트 처음 킬 때의 '7777'불이 안 들어옵니다.

0

99

2

포트에 안잡히면 x쉘에서 Port설정을 어떻게 하죠..?

0

82

2

빌드 및 디버깅 오류

0

140

2

보드에 불이 안들어옵니다.

0

88

2

씽크 오류

0

68

1

고추건조기 개발보드 전원연결 문제점..

0

95

2

회로도 핀 연결 질문

0

77

2

elf 파일을 찾을수 없다는 오류

0

90

2

Nucleo 보드로 대체

0

95

2

구매해야 하는 물품 문의

0

105

2

ST-Link 디버깅 에러

0

100

3

강의 사용하시는 pdf는 어디에 있나요?

0

120

2