본문 바로가기
Embedded SW/[Infineon] TC275 Lite Project

인피니언 MCU LED Blinking (TC275 GPIO 설정)

by 방구석 임베디드 2021. 11. 13.
반응형

안녕하세요.

오늘은 TC275 LITE 보드의 LED를 깜빡이는 동작을 수행해 보도록 하겠습니다.

 

참고로 이 글은 개발의 전체적인 내용을 연재하고 있는 글이 중에 하나입니다.

그래서, 앞에쓴 글을 보시면 더욱 도움이 되실것 같습니다.

아래 글을 링크 걸어둘께요. 필요하신 분은 한번 읽어 보세요.

(물론 이 글만 보셔도 크게 문제는 없습니다.)

 

1) 임베디드 SW, MCU에 대한 정리 (feat. 임베디드 SW 비전)

https://embeddedchallenge.tistory.com/210

2) MCU 개발 장비 구매 방법 정리 (인피니언 MCU TC275 Lite)

https://embeddedchallenge.tistory.com/211

3) 임베디드 SW 개발 환경 세팅 방법 정리 (소스코드 편집기, 컴파일러, 디버거 환경 설정 방법)

https://embeddedchallenge.tistory.com/212

4) 인피니언 IDE Tool 사용방법 정리 (프로젝트 생성 및 다운로드 수행)

https://embeddedchallenge.tistory.com/219

 

그러면 지금부터 내용을 이어가도록 하겠습니다.

드디어 해외에서 구매한 TC275보드가 오게 되었습니다.

참고로 TC275보드로 개발을 수행하려고 하는데 이유는

이보드가 5만원대에서 구매할수 있는 저렴한 개발보드이기 때문입니다.

아마도 이 개발보드를 제외하고 보드를 구매하기는 쉽지 않을 것입니다.

이 개발보드의 가장 큰 장점 2가지는

5만원대의 개발보드인데 내장형 디버거(아래 사진의 파랑색 박스)가 들어가 있어서,

따로 돈을 주고 디버거를 구입하지 않아도 되며

포트가 다 나와있어서 개발에 용이하다는 장점을 가지고 있습니다.

아래 보드의 개발 메뉴얼을 첨부하니, 필요하신 분들을 다운받으셔서 사용하시길 바랍니다.

Infineon-AURIX_TC275_Lite_Kit-UserManual-v01_00-EN.pdf
3.34MB

 

이 개발보드에는 2개의 LED가 존재합니다.

지금부터 LED1을 한번 키고 끄도록 해보도록 하겠습니다.

그럼 회로도를 살펴 볼까요?

 

조금더 자세히 그림을 그려보도록 하겠습니다.

결국 아래와 같은 그림이 그려지는 것을 확인하실수 있습니다.

아래와 같이 MCU안에 GPO가 5V로 되어져 있는 경우

전류는 흐르지 않아서 LED는 켜지지 않습니다.

그런데 GPO가 Ground로 설정이 되어버리게 되면

전류는 흐르고 LED는 켜지게 됩니다.

지금부터 이 동작을 실행해 보도록 하겠습니다.

 

이제 개발 Studio로 이동을 합니다.

1) Cpu0_Main.c 파일을 열으세요.

2) IfxPort.h 와 IfxPort_PinMap.h 파일을 include 시켜 주세요.

3) 아래와 같이 P00.5 포트를 GPO로 설정하고

그 모드를 IfxPort_OutputMode_pushPull모드로 설정해 주세요.

이 모드는 Low일때는 Gound로 확실히 잡아주고 High일때는 5V를 주기 위한 모드입니다.

그리고 그 값을 Low 값으로 주도록 변경해 주세요.

이제 한번 디버거를 통해서 돌려 보도록 하겠습니다.

아래와 같이 00.5포트를 GPO PushPull 모드로 변경을 하고

Output값을 0으로 내려주면 해당 레지스터에 0이라는 값이 있는 것을확인 할수 있습니다.

이때, LED1은 켜집니다.

그리고 디버깅 환경에서 해당 레지스터의 값을 변경할수 있습니다

변경이 되었는지 확인해 볼까요?

이때 LED1은 꺼집니다.

 

그러면 LED를 1초마다 켰다가 끄는것을 반복하고 싶습니다.

어떻게 해야할까요?

 

MCU는 제어를 하기 위하여 만든 컴퓨터라고 이야기했습니다.

제어는 정확한 시간에서 제어가 동작이 이루어져 합니다.

절대 시간이 필요합니다.

 

따라서 이제 우리가 할일은 LED를 정확하게 1초마다 깜빡이는 동작을 수행해 보려고 합니다.

이것을 이해하기 위해서는

Clock, PLL, Timer, Interrupt의 대한 이해가 필요합니다.

지금부터 하나씩 알아가 보도록 해요!!!

반응형

댓글