buradan çapraz derleyici yüklediniz: http://wiringpi.com/download-and-install/
yazıyorum programı Web'den örneklerinden biridir (sadece emin olmak için: Ben witingPi kitaplığı kullanıyorum https://github.com/raspberrypi/tools
yüzden installaion için bu talimatları takip I) derlemek ve çalıştırabilirsiniz: derleme bölümü iyi çalışır:
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <wiringPiSPI.h>
#define CHANNEL 1
void send3(uint8_t a, uint8_t b, uint8_t c) {
uint8_t buf[3];
buf[0] = a;
buf[1] = b;
buf[2] = c;
wiringPiSPIDataRW(CHANNEL, buf, 3);
}
int main(int argc, char** argv) {
if (wiringPiSPISetup(CHANNEL, 4000000) < 0) {
fprintf (stderr, "SPI Setup failed: %s\n", strerror (errno));
exit(errno);
}
printf("start\n");
send3(0x40, 0x0A, 0x0B);
send3(0x41, 0x0A, 0x00);
send3(0x40, 0x00, 0xFF);
send3(0x40, 0x0C, 0xFF);
send3(0x40, 0x13, 0x00);
send3(0x40, 0x01, 0x00);
send3(0x40, 0x04, 0xFF);
printf("done\n");
return 0;
}
sorun işe wiringPi kütüphanesi ile bağlantı parçasını alamayan olmasıdır ./arm-linux-gnueabihf-gcc -c /home/guy/main.c -o /home/guy/main.o -I /home/guy/toolchain/wiringPi/wiringPi
/home/guy/toolchain/wiringPi/wiringPi
, wiringPi kütüphanelerinin ve başlıklarının yoludur. Derlemenin başarılı olduğundan (wiringPi başlıklarına erişimin başarılı olması) bu durumun iyi çalıştığından eminim.
Sonraki Ben wirinPi kütüphanesi ile kod bağlantı ve yürütülebilir oluşturmak için aşağıdaki komutu denedi: ./arm-linux-gnueabihf-gcc -L/home/guy/toolchain/wiringPi/wiringPi -o "AngleCalculator" /home/guy/main.o -lwiringPi
Bu başarısız oldu ve ben şu mesajı aldım: /home/guy/toolchain/wiringPi/wiringPi/libwiringPi.so: file not recognized: File format not recognized
Bazı mesajlar -static
kullanarak önerdi Bağlantı sırasında bayrak ancak hala çalışmadı ve şu iletiyi aldım: /home/guy/toolchain/rpi2/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lwiringPi
. Sanırım bu, wiringPi'nin statik bir sürümü olmadığı içindir.
RPI cihazında aynı bağlantı komutunu çalıştırmanın kendisi başarıyla çalışır. Bu hatanın nedenini bilmiyorum. Gcc cross derleyicisinin kullanmam gereken başka bir sürümü var mı? Belki başka bir wiringPi sürümünü kullanmalıyım?
Teşekkür