Hallo zusammen, ich möchte mit meinem mega16 einen HDQ Controller auslesen. Ich schicke dem HDQ meine Anfrage, funktioniert auch einwandfrei. Auch die Antwort bekomme ich prompt zurück. Jetzt habe ich nur das Problem, wie ich diese Antwort einlesen kann. Das einfachste, hab ich mir geadcht, wenn eine fallende Flanke kommt lass ich einen Timer loslaufen, kommt eine steigende stoppe ich ihn wieder und les das TCNT1 Register aus. Da eigentlich die maximale Zeit bei ca. 100-120µs liegt, und ich den µC mit 8MHz laufen habe, zählt der Timer ja nur bis ca. 1000. Was ich auch festgestellt habe, ist, dass der Controller wenn ich ihn nur die Flanken zählen lasse zwischen 17 und 19 zählt. Wenn ich aber 8 BIt habe, dürfte ich doch nur 16 Flanken erhalten, oder? Vielleicht könnt ihr mir einen Tip geben, wie ich die Antwort de Controllers am einfachsten auslesen kann. Die USART wollte ich nicht benutzen, da ich ja über sie die Kommunikation mit meinem Rechner aufrecht erhalten will. Im Anhang habe ich mal meinen C-Code angehängt. Und ja, ich glaub die Lösung ist nicht sehr elegant.(sie funktioniert ja uch nicht). Im nächsten Thread stell ich noch ein Bild vom Oszi anhängen. Auf dem sind die letzten 8 Low-Pegel die Antwort des COntrollers und die ersten 9 eine Anfrage. Gruß Paul
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.