인프런 커뮤니티 질문&답변

남윤아님의 프로필 이미지
남윤아

작성한 질문수

ARM Cortex-M 프로세서 프로그래밍

s202_LED 점멸해보기

led 점멸 소스 관련 질문 드립니다.

작성

·

236

0

안녕하세요. led 점멸 소스를 보던 중 궁금한 점이 생겨 질문 드립니다.

ld3와 ld4를 동시에 점멸하는 코드인

HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_SET);

부분에서 LD3_Pin&LD4_Pin로 쓰지않고 LD3_Pin|LD4_Pin로 쓰는지 궁금합니다.

답변 2

0

남윤아님의 프로필 이미지
남윤아
질문자

감사합니다!

0

홍영기님의 프로필 이미지
홍영기
지식공유자

안녕하세요. 남윤아 님!

HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_SET)

#define LD3_Pin GPIO_PIN_13

#define LD4_Pin GPIO_PIN_14

#define GPIO_PIN_13                ((uint16_t)0x2000)  /* Pin 13 selected   */

#define GPIO_PIN_14                ((uint16_t)0x4000)  /* Pin 14 selected   */

LD3_Pin 와 LD4_Pin 는 i429DISC 보드의 각 LED 을 접근하기 위한 목적으로 함수의 전달인자도 사용된 상수 입니다.

말씀하신 것처럼

HAL_GPIO_WritePin(GPIOG, LD3_Pin&LD4_Pin, GPIO_PIN_SET)

이렇게 할 경우

HAL_GPIO_WritePin(GPIOG, 0x0000, GPIO_PIN_SET

이렇게 처리될 것이고, 결국 이 코드는 아무런 일도(LED 점멸) 발생시키지 못할 겁니다.

하지만,

HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_SET)

이렇게 처리한다면, 이것은 결국

HAL_GPIO_WritePin(GPIOG, 0x6000, GPIO_PIN_SET) 이고

이 코드는 두 개의 LED 의 상태 변화를 이끌어 낼 수 있습니다.

자세한 내용은 이 함수(HAL_GPIO_WritePin)의 실행을 TRACE INTO 로 쫓아가 보시면 아실 수 있습니다.

 

남윤아님의 프로필 이미지
남윤아

작성한 질문수

질문하기