Archiv verlassen und diese Seite im Standarddesign anzeigen : Robby RP5 Programmierungshilfe
Hi, ich bin neu hier und habe Fragen. Ich hoffe, dass mir einer helfen kann. Ich habe mir den Conrand Robby RP5 geholt, doch leider versteh ich so manches nicht, was in den Beispielen programiert wurde. Leider funktioniert auch der Debugger bei mir nicht so richtig, dass ich mal nachschauen kann, was in den einzelnen Variablen so drin steht.
Also meine erste Frage lautet:
Wo finde ich was über das Hbyte beschrieben. Es steht leider nichts darüber stehn in der Project5intern-Datei.
Zweitens.
Habe ich probleme, manche verundungen/veroderungen zu verstehen.
z.B. :
1.
EXTPORT=EXTPORT and &H0F: goto EXTPORT _WRITE ??? WARUM???
2.
Alles was für die IR-Kommunikation nötig ist.
#RC5; #RC5_int; #REC80
danke im voraus.
Gruss
Sevan
hai!
ich kam mit den ganzen befehlen auch nicht zurecht. Um das zu verstehen muss man schon ziemlich tief in die C-Control reinsteigen. Es gab mal so ne seite vom "Arexx-Henk", wo solche sachen beschrieben wurden. Leider weiß ich die adresse net mehr.
Ich habs dann irgendwann aufgegeben, dass alles zu verstehen; ich kam mit der C-Control später eh nicht mehr zurecht, deswegen bin ich auf atmels umgestiegen und bau mir jetzt meinen eigenen bot.
Wenns dich trotzdem interresiert vielleicht einfach mal bei google nach "arrex, henk und robby rp5" suchen...
Danke, habe die Seite gefunden.
http://www.arexx.com/arexx.php?cmd=goto&cparam=p_rp5_special.dat
Habe aber leider nichts informatives gefunden.
Danke aber trotzdem für die prompte Antwort.
Vlt kann mir jmd anderes weiter helfen.
Will mir jetzt deswegen keinen neuen zu legen bzw. aufbauen, hae den neu und wird mich gern damit beschäftgien.
Gruss
Sevan
Hallo sinsibo,
EXTPORT=EXTPORT and &H0F: goto EXTPORT _WRITE ??? WARUM???
Die Zeile taucht in der Ansteuerung der 4 LEDs auf dem Robby auf.
Die höherwertigen 4 Bits von EXTPORT (=Byte(4)) namens LED1_F bis LED4_F steuern die 4 LEDs. Ist das Bit ON (1), ist auch die LED an.
Man setzt also eines der Flags auf 0 oder 1 (z.B. LED1_F=1) und ruft dann LBYTE=EXTPORT:sys SYSTEM auf, um die LED 1 einzuschalten.
Will man alle 4 LEDs gleichzeitig ausschalten, kann man alle 4 Bits in EXTPORT durch EXTPORT=EXTPORT and &H0F löschen (auf 0 setzen).
Man UNDiert dazu mit der Maske 00001111 (&H0F). Dadurch werden die 4 LED-Bits auf 0 gesetzt, die 4 anderen Bits bleiben unverändert, da sie ja zu anderen Zwecken dienen.
Das Gegenteil ist EXTPORT=EXTPORT or &HF0 (Maske 11110000) zum Einschalten aller 4 LEDs. Dabei werden durch eine ODER-Funktion die LED-Bits auf 1 gesetzt. Die anderen Bits bleiben unverändert.
Alles was für die IR-Kommunikation nötig ist.
#RC5; #RC5_int; #REC80
Das ist ein bisschen viel! Wenn du eine etwas begrenztere Frage dazu hast: Her damit!
Gruss Dirk
Ich danke dir sehr Dirk.
Das hat mir geholfen. Das andere basiert dann auf das gleiche Prinzip, dem entsprechend ist das nicht so wichtig.
Ich weiss nicht, ob du die p5driv.s19 bzw. asm.txt kennst?
Habe dazu noch ein paar Verständnissfragen.
Was bedeuten denn die Asciizeichen ganz am Anfang?
s113.....ACA etc
und das sowewhat expanded
s1 13 0101 19 ..... CA
|<-- real data--->
Wer und wie legt man das fest, darf man daran rumexperimentieren?
Mit dem Assembler komm ich sonst klar, dank der Erklärung.
Label und assembler verstehe ich, was ist aber mit address und dem opcode gemeint, kann mich nicht erinnern, sowas in assembler mal programmiert zu haben. Wobei das auch lange her ist.
Beispiel : 0106 1B 01 Label assembler
Das wäre nett, wenn du mir das erlären könntest.
Dann wollte ich dich noch was anderes fragen, ich hoffe, dass wird dir nicht zu viel.
Ich habe ein funkmodul womit ich drahtlos mit dem robby kommunizieren möchte. Ich möchte in C, Funktionen schreiben, wie z.B. void fahren (Geschwindigkeit, Richtung){}, etc. .
Dazu muss ich alle funktionen, die der Robby mir bietet in den in einem Prog zusammenfügen, natürlich auf meine Bedürfnisse abgeändert in den Microcontroller laden.
Mein Problem ist, gibt es eine Möglichkeit, dass der Robby Felder oder Strings auswerten kann? Bis jetzt geht es nur mit bytes oder bits und mit vielen if-schleifen, erschwert mir nur die Arbeit, aber vlt kennst du eine Lösung.
Ich danke dir sehr.
Gruss
Sevan
Hallo sinsibo,
hm, also ....
am Anfang des Listings steht nur ein "Hexdump" des Treibers p5driv.s19.
Das ist also nur eine Auflistung der Bytes, die in den Speicherbereich der CC1 für Maschinenspracheprogramme einprogrammiert werden.
Dieser Hexdump ist in 2 Formen dargestellt (normal und expanded). Es sind aber die selben Bytes.
Danach kommt der eigentliche Assemblertext von Die Hard.
Wenn man den Robby mit einem Funkmodul steuern möchte, muss man erst festlegen, ob das Modul z.B. via RS232 angeschlossen werden soll. Dann bräuchte man in der CC1 des Robby einen Kommando-Interpreter, der die Bytes, die von der RS232-Schnittstelle kommen, als Befehle interpretiert und ausführt.
Schreib doch 'mal, wie du dir die Hardware-Seite vorstellst.
Gruss Dirk
super_castle
02.02.2006, 22:41
assembler brauchst du für den rp5 nicht, packt eh nur 255byte und die sind schon durch die betriebsroutinen verbraucht.
pack eine avr-platine huckepack drauf, dann klappt es.
mfg Castle
ja, das mit der avr-platine könnte man machen, aber dann zuviel stromverbrauch. Das funkmodul zieht alleine 500mA.
Aber danke für den Tip, wenn ich nicht weiter komme, werde ich dass d.ann wohl machen.
Habe einen von atmel atemega 8 glaube ich.
Gruss
Sevan
Dirk, ich schreibe dir das dann in den nächsten tagen auf. hast du eine mail-adresse, dann schreib mir doch bitte, natürlich nur, wenn dir das recht ist.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.