Zitat Zitat von radbruch
Ich denke, du verstehst es nicht. Die Funktionen sind schon eingebaut, du must nur das Terminal starten und, wie beim Selbsttest, zuschauen was der asuro meldet. Hier sendet der asuro was er empfangen hat:

Code:
   temp=temp/2 & 0xf; // Die Info steht in den Bits 1-4 
   StatusLED(YELLOW); // Daten gelesen 
   //Msleep(2000); // Zeit um den IR-Transceiver ueber den asuro zu bringen 
   SerWrite("\n\r",2); 
   SerWrite(daten,14); // Bitmuster zum PC senden 
   SerWrite("-",1); 
   PrintInt(temp); // erkannte Daten zum PC senden
Die StatusLED leuchtet kurz gelb wenn der asuro senden will. Zuerst kommt das Bitmuster und dann das Kommando.
Das hab ich gemacht, hier ist das was im Hyperterminal ankommt:

Taste 1 (einzelnes Drόcken 20x):
Code:
1‚Š‚‚‚‚ŠŠ‚‚‚‚‚‚j‚ώŸL˜˜00010000001-01j‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚ώϘ000001000000-01 ‚Š‚‚‚‚
ŠŠ‚‚‚‚‚‚j‚ώŸ˜000001000000-0ƘΔb1       j‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚ώώL˜˜00010000001-0Ɵ
Α‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚ώŸLœ˜00010000001-01>    1‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚ŸL˜˜00010100001-015‚‚‚‚
‚‚ŠŠ‚‚‚‚‚‚j‚ώŸ˜°010-1˜Ζb1      j‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚ώž1j‚‚‚‚‚Š‚‚‚‚Š‚‚j’ώĞ
00010011010000-815‚‚‚‚‚‚ŠŠ‚‚‚‚‚‚j‚ώ00000001000000-01
Taste 1 (gedrόckt fόr 10sec):
Code:
00000001000000-0Ο5Α‚‚Š‚‚ŠŠ‚‚‚‚‚‚j‚ώŸ5‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώj‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώ‚‚‚‚Š
‚ЂЂ‚‚j’ώΟR`‚‚‚‚‚Š‚‚‚‚‚‚‚j‚ώj‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώ%‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώΟ%‚‚‚‚‚‚‚Š‚‚‚
‚‚‚j‚ώž  ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώΟ      ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώΑ€‚‚‚‚‚Š‚‚‚‚‚‚j‚ώΟ   ‚‚‚‚‚‚‚
Š‚‚‚‚‚‚j‚ώ    h‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώŸ…00000010000000-0j‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώž      `
‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώ ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώžž0010000001-0Α‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώŸ       $
‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώŸ ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώŸ  =‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώŸ     j‚‚‚‚‚‚‚Š‚‚‚‚‚‚j
‚ώž5Α‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώŸ        >‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώ      ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώj‚‚‚‚‚
‚‚Š‚‚‚‚‚‚j‚ώ4‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώ        0‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώŸ ‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώj‚
‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώŸ       (‚‚‚‚‚‚‚Š‚‚‚‚‚‚j‚ώ
Die Tasten senden beim Drόcken, Draufbleiben oder Loslassen jeweils einen anderen Code.
Meistens fδhrt er nur durch kurzes Draufbleiben, einzelnes Drόcken zeigt zwar ein leuchten der LED aber es tut sich nichts, nur wenn er fδhrt, wird er dann zumeist gestoppt.

Hast du die verschiedenen Versionen der asuro-Libraries beachtet (wie oben beschrieben)?
Das Programm funktioniert nur mit einer 36kHz-Library! Fόr die orginale CD-Lib muss man hier eine 96 eintragen:

Sleep(96); // Information einlesen nach 3/4 der Bitlaenge
Wenn du das meinst, die Δnderung habe ich vorgenommen, ich benutze die Asuro libv271, stimmt der Wert (Sleep(96) dann so?
Soll ich es mal mit der 36kHz-Library versuchen?

Noch eine Anmerkung zu deinem Geradeausfahrprogramm: Ich weiί ja nicht wie groί dein Anteil daran ist, aber es ist ein gutes Beispiel fόr die Anwendung der Odometrie beim asuro.
Mein Anteil ist nicht so groί, ich habe nur den TRIGGERLEVEL auf meinen Asuro angepasst und die Geschwindigkeit auf einen fόr mich passenden Wert geδndert.

Interesanterweise enthδlt dein Quellcode denselben Umlautebug den ich vor Urzeiten auch schon mal entdeckte. Ich hatte deshalb eine zeitlang Umlaute in den Kommentaren vermieden. Irgendwie hat sich das aber von selbst geheilt, heute verwende ich auch wieder Umlaute ohne Probleme. Vielleicht ist das ein Problem des Editors der Umlaute nicht im richtigen Code speichert? Ich verwende nicht das Notepad sondern KamAVR. [https://www.roboternetz.de/phpBB2/ze...ag.php?t=29123]
Meinst du im Geradeaus-Programm?