树莓派GPIO口驱动编写

一、wiringpi写法

#include <wiringPi.h>
#include <stdlib.h>

int main(int argc,char *argv[])
{
    if(argc<2)
        return -1; 

    if(argc==2)
    {   
        wiringPiSetup();
        pinMode(0, OUTPUT);
        if(atoi(argv[1]) == 1)
            digitalWrite(0, HIGH);
        else if(atoi(argv[1]) == 0)
            digitalWrite(0, LOW);

        return 0;
    }   

    return 0;
}

可以使用shell指令查看GPIO对应情况:

$gpio readall

官方网站:http://wiringpi.com/

 

二、bcm2835

#include <bcm2835.h>
#include <stdio.h>

/*GPIO pin 17*/
#define PIN RPI_GPIO_P1_11

int main(int argc,char **argv)
{
    if(!bcm2835_init())
        return 1;
    
    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP);

    while(1)
    {   
        bcm2835_gpio_write(PIN,HIGH);

        bcm2835_delay(500);

        bcm2835_gpio_write(PIN,LOW);

        bcm2835_delay(500);
    }   
    bcm2835_close();
    return 0;
}

GPIO口配置:http://elinux.org/RPi_Low-level_peripherals

bcm2835官网:http://www.airspayce.com/mikem/bcm2835/index.html

 

posted @ 2017-08-20 22:48  习惯就好233  阅读(395)  评论(0编辑  收藏  举报