aja, wenn ich auf simulate klicke, kommt "obj or dbg not found", das macht mich auch nicht wirklich glücklicher
...den titel ändere ich später gerne, aber im moment fällt mir nix besseres ein
also...
ich habe ein board mit dem atmel16, läuft noch intern mit 1Mhz.
RS232 ist richtig gejumpert, daran hängt RN-Motor.
ich habe jetzt versucht (als totaler newbie), aus verschiedenen tutorials und der beigelegten anleitung bei RN-Motor, irgendwas zu coden - man verzeihe mir den blödsinn!
ich dachte, ich steuere einfach mal den linken motor an, lasse den eine zeitlang laufen und dann stoppen, nur mal als test, ob da was passiert.
jetzt hab ich da aber einen error
error 31 - invalid datatype[200]Code:$regfile = "m16def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 1000000 $baud = 9600 Wait 10 Print "#rmi" & Chr(0) & Chr(400) Wait 1 Print "#rmo" & Chr(0) Wait 1 Print "#rmd" & Chr(0) & Chr(0) Wait 1 Print "#rme" & Chr(0) Wait 20 Print "#rms" & Chr(0) End 'end program
jetzt liegts natürlich weder am controller oder am rn-motor, sondern an meinen programmierkenntnissen.
scheinbar muss ich den datatype deklarieren, aber wie/wieso?
hab ich was überlesen?
im prinzip sinds ja fixe werte, also konstanten, ich verändere ja nix.
muss ich konstanten extra deklarieren?
ich dachte, PRINT ist ein befehl, und wenn der nach RS232 geschickt wird, weiss die firmware des rn-motor, was ansteht!?!
der fehler wird aber beim compilieren in den print-zeilen aufgelistet.
thx for help, knacki
aja, wenn ich auf simulate klicke, kommt "obj or dbg not found", das macht mich auch nicht wirklich glücklicher
das der simulator nicht will ist logisch weil er ja noch keine fertig kompilierte datei vorfindet...
ich habe, da ich genausoviel ahnung von Bascom habe wie du (ich schreibe pascal und nen bisschen assembler), einfach mal rumprobiert und die "&" durch "+" ersetzt. jetzt wird nur noch bei
$framesize = 32
$swstack = 32
$hwstack = 32
gemeckert... auskommentiert und es geht...
aber im simulator kommt niohc nicht ganz das gewünschte raus...
Ersetzte mal die & durch ; Zumindest bei LCD müsste es so gemacht werden.
thx, der simulator meckert immer, auch bei dem "testprogramm" von frank im Wiki
mfg knacki
jetzt hab ich folgendes ergebnis:
#rmi1400
#rmo1
#rmd00
#rme0
#rms0
richtig so?
der trick bei der übergabe der zeichen: es geht hier um ascii zeichen, die normalerweise mit hexadezimalzahlen angesprochhen werden, du hast jedoch dezimalzahlen verwendet. ich hab also mal in meiner ascii tabelle nachgeguckt was der code für diese zeichen ist. die null ist die $30, eins die $31 usw... (der versatz um $30 kommt von den blöden amerikanischen militärfernschreibern, aber das is ne lange geschichte von höchst innovativen computerherstellern...)Code:$regfile = "m16def.dat" ' $framesize = 32 '$swstack = 32 '$hwstack = 32 $crystal = 1000000 $baud = 9600 'Wait 10 Print "#rmi" + Chr($31) + Chr($34) + Chr($30) + Chr($30) Wait 1 Print "#rmo" + Chr($31) Wait 1 Print "#rmd" + Chr($30) + Chr($30) Wait 1 Print "#rme" + Chr($30) Wait 20 Print "#rms" + Chr($30) End
dieses grundprogramm wollte ich übernehmen, anpassen und weiterschreiben.
mfg knacki
aha, compilieren geht jetzt, danke erstmal.
simulieren geht scheinbar bei mir sowieso nicht, immer gleiche fehlermeldung.
übertragen werd ichs heute auch nimmer, schätze ich (hund muss raus *g*)
ich danke dir jedenfalls recht herzlich, mit dieser art von hilfe kann man schneller lernen als aus büchern!
mfg knacki
Und was war nun der Fehler?
was meinst du jetzt genau?Zitat von Marco78
die fehlermeldung hab ich oben gepostet (simulation)
wenn du das compilieren meinst:
scheinbar hat uwe die lösung gefunden, ich habs nur noch nicht gebrannt und getestet.
mfg knacki
Lesezeichen