GPIO
Node.js로 라즈베리파이 GPIO 제어하기 (Blink)
라즈베리파이에서 GPIO를 제어하기 위해 흔히 쓰는 라이브러리로 WiringPi가 있습니다. WiringPi는 C로 만들어진 라이브러리여서 Node.js에서 바로 사용할 수 없습니다. Node.js의 패키지 관리자인 npm에서 WiringPi를 검색해보면 꽤 많은 패키지가 나옵니다. 하지만 제대로 동작하지 않는 것도 있었습니다. 제가 시도해본 것은 'wiring-pi' 'node-wiring-pi', 'rpio', 'onoff' 인데, 이 중에서 제대로 동작한 것은 'rpio'와 'onoff' 입니다. 저는 둘 중에서 'onoff'를 사용하기로 하였습니다. 'onoff'를 선택한 이유 'rpio'와 'onoff' 중에 'onoff'를 선택한 가장 큰 이유는 인터럽트 가능 여부입니다. 'rpio'는 공식적..
[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..