Hallo Zusammen, ich brauch mal wieder Eure Hilfe bei einem VTI Sensor. Es handelt sich um das Gyroskop SCR1100, welches ich gerne über die SPI Schnittstelle ansprechen würde. Ich möchte mit nachfolgendem Code die Winkelgeschwindigkeit auslesen, bekomme auch eine Antwort, allerdings ändert sich diese bei Drehung des Gyros nur minimal..... uint16_t gyro_abfragen(void){ uint16_t rueckgabe = 0; PORTD &= ~(1<<PD4); SPDR = (0x00); //warten bis übertragung komplett while(!(SPSR & (1<<SPIF))); SPDR = 0x01; while(!(SPSR & (1<<SPIF))); SPDR = 0x00; while(!(SPSR & (1<<SPIF))); rueckgabe = (SPDR<<8); SPDR = 0x01; while(!(SPSR & (1<<SPIF))); rueckgabe = rueckgabe + SPDR; PORTD |=(1<<PD4); return rueckgabe; } Danke im Voraus für jede Hilfe! Grüße Dani
Haste den SPI-Übertragungs-Mode richtig eingestellt? Wenn nicht, dann probieren, es gibt vier Modi. Ich hatte damit mal mit nem Thermometer die gleichen Probs.
ich glaube der Fehler besteht darin, dass beim ersten auslesen des SPDR der lsb-Teil des Status Information gelesen wird... und nicht der msb-Teil der Drehrate...... allerdings erschliest sich mir nicht warum....
hatte heute mal die Möglichkeit die Signale am Oszi anzuschaun, konnte aber keinen Fehler finden, habe ich etwas übersehen? Grüße Dani
Den SS Pin vom Mega hast du als Output konfiguriert? Ansonsten: zeig halt mal mehr! Wie ist der Sensor angeschlossen? Wie sieht dein Programm aus?
Setzt mal den Taktteiler auf das Maximum, vlt. liesst Du einfach nur zu schnell.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.