TivaWare
[TM4C] ADC 초기화 과정
들어가며 이 글에서는 Texas Instruments사의 Cortex-M4칩인 TM4C123GH6PM의 ADC 초기화 설정 방법을 설명합니다. 예제 코드는 공개 강좌인 Embedded Systems - Shape the World Chapter 14의 예제 코드를 기반으로 합니다. 여담으로 앞서 언급한 강좌는 MCU 공부를 시작하는 사람에게 많은 도움이 될거라 생각합니다. 관심이 있다면 시간을 들여서 보시는 것을 추천합니다. ADC 초기화 내용 초기화 과정에서 하는 일은 크게 두 가지 입니다. ADC 입력 소스로 사용할 GPIO 설정과 ADC 설정 설정입니다. 우리는 ADC 9번 채널로 사용할 수 있는 GPIOE 4번 핀에 아날로그 입력을 받을 수 있도록 기능을 설정할 것입니다. 그리고 하나의 소스로부터..
[TM4C] GPIO 초기 설정 방법 해설
들어가며 이 글에서 다룰 예제는 버튼스위치를 이용해서 LED를 켜고 끄는 코드입니다. GPIO 입/출력 관련 설정을 하고 GPIO 데이터 레지스터에 접근하여 값을 읽기도 하고 쓰기도 합니다. 우리는 이 예제를 통해서 레지스터 설정과 접근 방법에 대한 기본을 이해할 수 있을 것입니다. 실습에 필요한 재료는 개발 보드 EK-TM4C123GXL 이고 별다른 추가 회로는 필요하지 않습니다. 이번 글에서는 GPIO 초기 설정 위주로 코드를 해설하고자 합니다. 예제 코드 #include "tm4c123gh6pm.h" #include #define PF4 (*((volatile unsigned long *) 0x40025040)) // SW1 void Switch_Init(void) { volatile unsigne..
CCS 프로젝트 include 경로 설정
#include 코드에 오류 표시가 떠요! 앞서 작성된 글에서 프로그래밍 모델에 따라서 포함시켜야 하는 헤더 파일이 달라질 수 있음을 알 수 있었습니다. 그래서 프로젝트에 맞는 헤더 파일을 추가시키고 빌드를 시켜봤더니 문제가 생기지 않던가요? 코드 편집 창에는 문제가 되는 줄 옆에 x 표시가 생깁니다. 그리고 콘솔창에는 아래와 같은 메시지가 출력되지요. 이 중에서 중요한 정보만 추려서 보겠습니다. "../main.c", line 1: fatal error #1965: cannot open source file "tm4c123gh6pm.h" main.c 파일의 첫 번째 줄에서 #1965 에러가 발생했다고 합니다. #1965 에러가 어떤 의미인지 모르겠지만 계속해서 메시지를 읽어보면 tm4c123gh6pm...
[TM4C] TivaWare 프로그래밍 모델
들어가며 주변 장치 드라이버는 두 가지 방식의 프로그래밍 모델을 제공합니다. 한 가지는 레지스터에 직접 접근하는 방식(Direct Register Access Model, DRA)이고 다른 한 가지는 소프트웨어 드라이버 모델입니다. 두 모델은 각각 장단점을 가지고 있으며 개발자는 상황에 맞게 개발 모델을 선택해야 합니다. 레지스터 직접 접근(DRA) 모델 DRA 모델은 제어하고자 하는 주변 장치(Peripherals) 레지스터에 직접 접근하여 개발하는 방식입니다. 레지스터에 접근하기 위해서는 레지스터 주소 값이 정의된 매크로를 이용합니다. 매크로에 정의된 주소 값은 개발하려는 칩마다 다를 수 있어 맞는 헤더 파일을 코드에 포함시킬 필요가 있습니다. 그렇다면 그 헤더 파일은 어디에 있는 걸까요? 헤더 파일..