Gast
#3670464
Hallo zusammen, ich möchte gerne einen RFM12 direkt ohne Mikrocontroller an einen Raspberry Pi anschließen. Leider meldet sich der RFM12 nicht zurück, wenn ich den Status abfrage. Ich benuzte dazu die übliche C-Lib (http://www.airspayce.com/mikem/bcm2835/) Der selbe RFM12 funktioniert an einem AVR und anscheinend auch am Raspberry, denn wenn ich das mit dem rfm12b-linux Kernelmodul und den Beispielen probiere (https://github.com/gkaindl/rfm12b-linux), wird zumindest ein anderer Status zurückgeliefert, als wenn ich keinen RFM12 angeschlossen habe. Um den Fehler jetzt möglichst einzugrenzen, habe ich es jetzt mal per BitBanging auch mit der o.a. Lib versucht. Der unten stehende Code sollte immer wieder den Status abfragen und ausgeben. Ich bekomme leider nur Nullen. Was mach ich falsch? Vielen Dank [c] #include <bcm2835.h> #include <stdio.h> #define SDI RPI_GPIO_P1_19 #define SDO RPI_GPIO_P1_21 #define SCK RPI_GPIO_P1_23 #define NSEL RPI_GPIO_P1_26 int main(int argc, char **argv) { if (!bcm2835_init()) return 1; bcm2835_gpio_fsel(SDI, BCM2835_GPIO_FSEL_OUTP); bcm2835_gpio_fsel(SDO, BCM2835_GPIO_FSEL_INPT); bcm2835_gpio_fsel(SCK, BCM2835_GPIO_FSEL_OUTP); bcm2835_gpio_fsel(NSEL, BCM2835_GPIO_FSEL_OUTP); uint8_t i; while (1) { bcm2835_gpio_write(SDI, LOW); bcm2835_gpio_write(SCK, LOW); bcm2835_gpio_write(NSEL, HIGH); delay(500); bcm2835_gpio_write(NSEL, LOW); delay(500); for(i=0;i<16;i++) { bcm2835_gpio_write(SCK, HIGH); usleep(100); if(bcm2835_gpio_lev(SDO)) printf("1"); else printf("0"); fflush(stdout); bcm2835_gpio_write(SCK, LOW); usleep(100); } } return 0; } [\c]