通過Raspberry Pi(樹莓派)的GPIO接口控制發光二極管


原文:http://www.codelast.com/?p=5155

參考:http://blog.csdn.net/liang890319/article/details/8643069

下載安裝包,解壓,編譯,安裝:

mkdir temp
cd temp
wget http://project-downloads.drogon.net/files/wiringPi.tgz
tar xf wiringPi.tgz
cd wiringPi/wiringPi/
make
make install

 

下面寫程序測試:

// led.c
 
#include <wiringPi.h>
#include <stdio.h>
#include <stdlib.h>
 
int main (int argc,char* argv[])
{
  if (argc < 2) {
    printf("Usage example: ./led 4 \n");
    return 1;
  }
  int pinNumber = atoi(argv[1]);
 
  if (-1 == wiringPiSetup()) {
    printf("Setup wiringPi failed!");
    return 1;
  }
 
  pinMode(pinNumber, OUTPUT); // set mode to output 
  while(1) {
    digitalWrite(pinNumber, 1); // output a high level 
    delay(800);
    digitalWrite(pinNumber, 0); // output a low level 
    delay(800);
  }
 
  return 0;
}

 

編譯程序:

gcc led.c -o led -lwiringPi

 

運行程序:
Run the program:

. /led  4

可以看到LED開始閃爍了

可能遇見的問題:

GPIO測試編譯時出現了這個問題

/usr/lib/gcc/arm-linux-gnueabi/4.6/http://www.cnblogs.com/../libwiringPi.so:undefined reference to `i2c_smbus_write_byte'
/usr/lib/gcc/arm-linux-gnueabi/4.6/http://www.cnblogs.com/../libwiringPi.so:undefined reference to `i2c_smbus_read_byte'
/usr/lib/gcc/arm-linux-gnueabi/4.6/http://www.cnblogs.com/../libwiringPi.so:undefined reference to `i2c_smbus_write_byte_data'
/usr/lib/gcc/arm-linux-gnueabi/4.6/http://www.cnblogs.com/../libwiringPi.so:undefined reference to `i2c_smbus_write_word_data'
/usr/lib/gcc/arm-linux-gnueabi/4.6/http://www.cnblogs.com/../libwiringPi.so:undefined reference to `i2c_smbus_read_word_data'
/usr/lib/gcc/arm-linux-gnueabi/4.6/http://www.cnblogs.com/../libwiringPi.so:undefined reference to `i2c_smbus_read_byte_data'
collect2: ld returned 1 exit status

 

官方論壇上說是少裝了庫的原因

安裝這幾個庫: i2c-tools,libi2c-dev ,python-smbus

安裝參考 sudo apt-get install libi2c-dev

然后重新

make clean

sudo make uninstall

 

make

sudo make install

重新編譯下你的.c文件

gcc led.c -o led -lwiringPi

sudo ./led 4

雖然輸入的是4

實際上是GPIO23不停輸出高低電平


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM