2015年2月21日 星期六

[How To Raspberry Pi] 使用C語言控制GPIO


BCM2835為Raspberry Pi ARM架構處理器名稱

安裝BCM2835套件
sudo wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.25.tar.gz

解壓縮BCM2835套件
>  sudo tar zxvf bcm2835-1.25.tar.gz

進入BCM2835資料夾
>  cd bcm2835-1.25

設定連結
>  ./configure

編譯資料夾
>  make

編譯前檢查(非必要)
>  sudo make check

編譯並進行安裝
>  sudo make install

切換至blink資料夾
> cd ..//bcm2835-1.25/examples/blink

GPIO_P1_22腳位接VCC
GPIO_P1_6腳位接GND
LED閃爍10次, 1秒一次

#include <bcm2835.h>

// Blinks on RPi Plug P1 pin 11 (which is GPIO pin 17)
#define PIN RPI_GPIO_P1_22

int main(int argc, char **argv)
{
    // If you call this, it will not actually access the GPIO
    // Use for testing
//    bcm2835_set_debug(1);

    if (!bcm2835_init())
        return 1;

    // Set the pin to be an output
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);

    // Count
    int Count;

    // Blink
    for(Count=1; Count<=10; Count++)
    {
        // Turn it on
        bcm2835_gpio_write(PIN, HIGH);

        // wait a bit
        bcm2835_delay(1000);

        // turn it off
        bcm2835_gpio_write(PIN, LOW);

        // wait a bit
        bcm2835_delay(1000);
    }
    bcm2835_close();
    return 0;

}


編譯C程式
> gcc -o blink -l rt blink.c -l bcm2835

執行
> sudo ./blink


Demo:


Reference:
http://jimmyeestudio.blogspot.tw/2013/04/raspberry-picgpio-blink.html


沒有留言:

張貼留言