==================================Outline====================================
BCM 라이브러리
PWM LED Dimming
----------------------------------------------------------------------------
p/441
BCM 라이브러리
주소를 가상화 시키는 이유는 메모리를 효율적으로 사용하기 위해서이다.
‘[그림 16-18] BCM 2835의 버스 주소와 물리 주소의 대응관계’ 에서 MMU가 버스의 주소를 가상화시키는 것을 알 수 있다.
핀의 기능이 한 가지 이상인 경우는 핀에 여러 가지 신호가 물려 있고 사용자의 조작에 따라 스위치가 동작하여 원하는 기능을 사용할 수 있다.
//‘SPI’는 시리얼로 분류된다.
우선 BCM라이브러리를 다운로드 받는다. Pi2용 bcm2836이 가능한 파일을 설치한다.
기존의 라이브러리 제공 사이트에서 제공하는 최신버전인 1.39버전부터는 bcm2836을 지원한다.
아래 링크를 통해서 설치 할 수 있다.
http://www.airspayce.com/mikem/bcm2835/bcm2835-1.39.tar.gz
ssh를 통해서 터미널로 접근 및 설치 해보도록 한다.
설치 절차는 다음과 같다.
1. wget을 사용하여 라이브러리 다운로드
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.39.tar.gz
2. 다운받은 파일 압축해제
tar xvzf bcm-2835-1.39.tar.gz
3. 압축 해제한 폴더로 이동 후 설정을 적용한다.
cd bcm2835-1.39/
./configure
4. 설정이 올바르게 적용 되었는지 확인한다.
make check
5. 설치한다.
make install
라즈베리파이2의 경우는 라이브러리를 사용하기 위해 디바이스 트리를 활성화시켜야 한다.
다음 'reboot'명령어를 사용하여 재부팅한다.
PWM LED Dimming
교재 p/449에 있는 [PWM제어 예제]를 사용하여 PWM 코딩을 한다.
/*** 소스 ***/
[PWM_test.c]
#include <bcm2835.h> |
'Busan IT > 로봇제어' 카테고리의 다른 글
저수준 C프로그래밍, 디바이스 드라이버 프로그래밍 (0) | 2015.11.03 |
---|---|
저수준 C 프로그래밍 (0) | 2015.11.02 |
푸쉬 버튼을 이용한 LED on/off 제어 (0) | 2015.10.28 |
플라스크 기반의 GPIO 포트 제어, 스마트홈 (0) | 2015.10.26 |
GPIO를 통한 웹서비스 메시지 제어 (1) | 2015.10.23 |