Hi Leuts,
ich habe gerade angefangen Bascom zu entdecken und möchte gerne den Asuro in Basic programmieren. Leider stoße ich auf einige Anfangsschwierigkeiten. Schon die Umsetzung des "serwrite" aus der asuro.c ist im Moment noch nicht drin. Kann mir jemand helfen ?
Merci bien,
Mucki
Hi x-ryder,
die kleine Bascom API hatte ich auch schon gefunden, deine kleine Testroutine hilft mir aber auf meine ersten bescheidenen Sprünge.
Noch 'ne Frage zum Pollswitch, wenn ich folgendes Hauptprogramm habe:
Do
Poll = Pollswitch()
If Poll <> 0 Then
Call Statusled(red)
Print Poll
End If
Loop
End
dann bekomme ich ja eine Menge Werte, nur nicht die aus asuro.c gewohnten 1,2,4,6,8,16,32 sondern sehr verschiedene. Sind das dann einfach Werte vom A/d Wandler die ich noch den Tastern zuordnen muss ?
Thx 4 help,
Mucki
was bekommste denn für werte? ich hab den asuro nämlich grad nich zur hand und kann da gucekn, ich glaube da sollten direkt die tasterpositionen rauskommen, bin mir aber nicht sicher, schreib mal was du da rausbekommst
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Hi Martin,
habe ihn gerade auchnicht bei der hand aber die Werte lagen deutlich über den 2^x Werten wie ich sie durch die asuro.c Api gewohnt bin. Habe den Asuro auch gerade nicht zur Hand aber ich werde mir mal die Formel anschauen und dann melde ich mich noch mal...
Noch eine "blöde" Frage: mit PRINT gebe ich also eine Ausgabe auf den IR Port. Woher weiß denn das Basic, daß dies mein STDOUT ist ? Ich hätte jetzt gedacht, daß ich den entsprechenden Port erstmal initialisieren muss ?! Ich vermute ich denke etwas u die Ecke ...
Danke,
Mucki
das machst du schon mit dem befehl:
$baud = 2400
der rest ist bereits von Bascom initialisiert worden
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Hi Martin,
OK, war mir so nicht klar. Ich bin ja mal gespannt, was noch so auf mich zu kommt. Bin zwar kein C Freak aber irgendwie ist der Umstieg auf Basic schon ... sagen wir lustig.
Danke für deine Hilfe,
Maurice
Hi x-ryder,
neben meinen RN-Controll Probs bin ich natürlich auch noch mit dem Asuro dran. Ichhabe die Formel innerhalb der Bascom Asuro-Api mal gecheckt und sie stimmt mit der in der C-Api überein. Dennoch bekomme ich im Basic Werte die eher im Bereich >500 liegen. Dafür habe ich bei der Odemetrie bei einem Tempo von 160 Werte um die 5 - 7 ! Das Ganz eunter C funzt wie es soll.
Kann das jemand nachvollziehen ?
Thx,
Mucki
das ist halt Bascom und kein winavr-c.
wenn es unter Bascom genauso laufen soll, musst du die routinen in Bascom mit asm ersetzen in subroutinen mit $asm und $endasm.
darum kann man die routinen im allgemein vom asuro nicht umsetzen.
es sind dort sehr viele zeitkritische überwachungsroutinen drin, die Bascom nur unter vorbehalt der asm-rouitnen schaffen tut.
es ist auch gut so, an diesem beispiel sieht man auch, wie schnell Bascom in die knie geht wenn es um zeitintensive entscheidungen hinsichtlich der sensorik geht. und diese geballte sensorik im asuro ist für ein roboter der normale untere level, es kann sich mit der sensorik nur noch steigern und dann....
ich habe als bascom-user und winavr-c-user gemerkt, es lohnt sich nicht dieses in die bascomsprache umzusetzen wenn die reaktion so schnell bleiben soll.
für ruhende dinge (lcd, glcd usw) auf einem steckbrett usw kann man sehr schnell mit Bascom die resultate erzielen, das ist ein vorteil.
castle
Hi Castle,
mir ist nur nicht ganz klar, warum die Werte dann so unterschiedlich sind. Das Bascom nicht so schgnellen Code produziert kann ich ja einsehen aber einen Sensor abfragen und den richtigen Wert liefern sollte doch auch damit klappen,oder ?!
Mucki
Lesezeichen