-
-
Erfahrener Benutzer
Roboter Experte
Ok, ich versuch mich mal deines Problems anzunehmen, auch wenn ich keine Ahnung habe, was du genau brauchst... 
Also, ich versuch das mal so zu beschreiben, wie ich es verstanden habe und du sagst mir, ob das soweit stimmt - vielleicht kommen wir ja so auf den Fehler.
Du schickst 6 Byte an die Kamera (SYNC).
Daraufhin fragst du, ob die ihre Antwort (ACK) geschickt hat.
Wenn ja, dann hör auf - wenn nein, dann bleibe in der While-Schleife.
<----
1. Frage: könnte genau das dein Problem sein? - Also dass die Kamera ein bissle braucht, bis sie ein ACK schickt und du sie währenddessen "zumüllst" und sie daraufhin einfach irgendwas antwortet?
---->
Danach schickst du das ACKSYNC-Paket, damit die aufhört ihr ACK zu schicken.
<----
Anmerkung zur Übertragungssicherheit: Das ganze ACK und ACKSYNC soll eine Fehlersicherheit darstellen, wenn einzelne Pakete verloren gehen. Dann solltest du aber auch abfragen, ob das ACKSYNC-Paket angekommen ist (also ob die CAM noch weiter ihr ACK schickt oder nicht).
---->
Die Interruptmethode schiebt neue Daten einfach in ein (wohl global definiertes) Array und setzt danach das INT-Flag zurück.
Überleg dir mal, ob ich das ganze richtig verstanden hab und ob meine 1. Frage vielleicht schon die Lösung deines Problems ist...
Wenn nicht, dann poste bitte mal ein paar mehr Infos (welchen uC, was für eine CAM, evtl. Links zu Datenblättern, ...)
MfG
Stefan
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen