본문 바로가기
Embedded/MCU

S32K144EVB를 이용한 LED 실습

by kjy1010 2024. 1. 24.

이전 포스팅에서 S32 Design Studio for S32 Platform과 S32K144EVB를 사용하기 위한 실습환경 구축을 완료했습니다.
해당 실습환경을 바탕으로 LED ON-OFF실습을 진행해보도록 하겠습니다.

 

LED ON-OFF실습

 

1. S32DS 실행 : 신규 프로젝트 생성

 

2. 프로젝트 이름, MCU 선정, Toolchain 선택

 

3. SDK 선택

 

4. 생성된 프로젝트 및 Main.c 코드

 

5. LED Port 설정

  • LED RED : PTD15
  • LED GREEN : PTD16
  • LED BLUE : PTD0

 

6. Peripherals 설정 : 설정 완료 후 Update Code 클릭

 

7. Build

 

8. #define 추가 : LED

#define EVB

#ifdef EVB
	#define PCC_CLOCK	PCC_PORTD_CLOCK
	#define LED_PORT PTD
	#define LED_BLUE   0
	#define LED_RED    15
	#define LED_GREEN  16
#endif

 

9. Clock 초기화

status_t status;

	/* Configure clocks for PORT */
	status = CLOCK_DRV_Init(&clockMan1_InitConfig0);
	DEV_ASSERT(status == STATUS_SUCCESS);

 

10. GPIO Pin 초기화

status = PINS_DRV_Init(NUM_OF_CONFIGURED_PINS0, g_pin_mux_InitConfigArr0);
	DEV_ASSERT(status == STATUS_SUCCESS);

 

11.  LED Off 초기화

 /* Set Output value LED0 & LED1 & LED2 All Off*/
  PINS_DRV_SetPins(LED_PORT, 1 << LED_RED);
  PINS_DRV_SetPins(LED_PORT, 1 << LED_BLUE);
  PINS_DRV_SetPins(LED_PORT, 1 << LED_GREEN);
  //PINS_DRV_ClearPins(LED_PORT, 1 << LED1_PIN);

 

12. 메인 코딩

void delay(volatile int cycles)
{
    /* Delay function - do nothing for a number of cycles */
    while(cycles--);
}

for (;;)
  {
      /* Insert a small delay to make the blinking visible */
      delay(720000);

      /* Toggle output value LED0 & LED1 */
      PINS_DRV_TogglePins(LED_PORT, 1 << LED_BLUE);
      //PINS_DRV_TogglePins(LED_PORT, 1 << LED_BLUE);
  }

 

13. Build

 

14. 디버거 세팅

 

위의 과정을 통해 LED를 딜레이를 가지면서 On - Off 되는 것을 확인 할 수 있습니다.

다음 포스팅에서 FreeMASTER 사용을 위한 세팅을 이어 설명드리도록 하겠습니다.

'Embedded > MCU' 카테고리의 다른 글

S32K144EVB를 이용한 ADC 실습(2)  (0) 2024.01.24
S32K144EVB를 이용한 ADC 실습(1)  (0) 2024.01.24
S32K144EVB 실습 환경 구축  (0) 2024.01.24
TC275 실습 환경 구축  (0) 2024.01.02
MCU란  (0) 2023.12.28