Step1 安装wiringpi库
按以下教程安装
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/
| sudo apt-get install git-core sudo apt-get update sudo apt-get upgrade git clone git://git.drogon.net/wiringPi cd wiringPi git pull origin cd wiringPi ./build
|
Step2连接电路
以下是wiringpi库的GPIO号
电路图
Step3实现代码
| #include <wiringPi.h> #include <stdio.h> #include <stdlib.h> int led_digit[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int gpio_ucf[10]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; void shownum(int num){ //num=num/10; num=num%100; int high=led_digit[num/10]; int low=led_digit[num%10]; //high digit digitalWrite(9,LOW); digitalWrite(8,HIGH); for(int i=0;i<8;i++){ if((high>>i)&1){ digitalWrite(gpio_ucf[i],LOW); // printf ("%d-----%d\n",low,i); } else digitalWrite(gpio_ucf[i],HIGH);
} delay(10);
//low digit digitalWrite(8,LOW); digitalWrite(9,HIGH); for(int i=0;i<8;i++){ if((low>>i)&1){ digitalWrite(gpio_ucf[i],LOW); // printf ("%d-----%d\n",low,i); } else digitalWrite(gpio_ucf[i],HIGH); } delay(10);
} int main (void) { int number=0 ; int flag=1; printf ("Raspberry Pi program\n") ; if (wiringPiSetup () == -1) exit (1) ; for(int i=0;i<10;i++) pinMode (gpio_ucf[i], OUTPUT); pinMode (13,INPUT); pinMode (14,INPUT); for(;;){ shownum(number); if (digitalRead (13) == 0) { flag=0; printf("Stop\n"); } if (digitalRead (14) == 0) { flag=1; printf("Start\n"); } if(flag==1) number++; } return 0 ; } |
编译命令
| gcc -o LPD lpd.cpp -lwiringPi |
视屏地址:
http://v.youku.com/v_show/id_XNTY5NTcxMDI0.html
转载于:https://my.oschina.net/daijy/blog/140734