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.
Hallo, Spi modus stimmt, gibt es noch andere Ideen? Grüße Dani
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
kann mir wirklich keiner helfen?
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?
Gast
#2929580
Setzt mal den Taktteiler auf das Maximum, vlt. liesst Du einfach nur zu schnell.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.