inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

해결된 질문

232

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 이라고 나와요.)

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

0

22

3

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

0

35

2

IDE 설치 영상 관련 문의

0

51

2

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

0

137

2

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

0

46

2

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

0

61

2

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

0

74

2

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

0

59

2

빌드 및 디버깅 오류

0

114

2

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

0

74

2

씽크 오류

0

57

1

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

0

74

2

회로도 핀 연결 질문

0

68

2

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

0

72

2

Nucleo 보드로 대체

0

85

2

구매해야 하는 물품 문의

0

97

2

ST-Link 디버깅 에러

0

84

3

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

0

111

2

이전 질문 재질문입니다.!

0

77

2

다른 개발 실습 보드 사용문의

0

96

2

smt32 Cube Ide 설치관련 에러입니다

0

229

2

제가 1년전에 구매해서 이제 뜯어봤는데 납땜이 겹쳐있는데 사용해도 괜찮을까요?

0

94

2

타이머 최대 주파수 질문

0

66

2

초기 신호에 대한 질문

0

90

2