-
-
@Anadun:
Danke für den Tipp, aber wenn ich dein Programm in Asuro.H einfüge, dann schreibt er eine unendliche Fehlerliste auf. Wenn ichs wieder raustu , die normale Asuro.h rein und dein Programm in Asuro.C, dann stehen folgende Fehler da:
asuro.c:125: error: `switched' undeclared (first use in this function)
asuro.c:125: error: (Each undeclared identifier is reported only once
asuro.c:125: error: for each function it appears in.)
asuro.c: In function `__vector_14':
asuro.c:138: error: `encoder' undeclared (first use in this function)
asuro.c: In function `Encoder_Init':
asuro.c:380: warning: implicit declaration of function `Encoder_Set'
asuro.c: At top level:
asuro.c:387: warning: type mismatch with previous implicit declaration
asuro.c:380: warning: previous implicit declaration of `Encoder_Set'
asuro.c:387: warning: `Encoder_Set' was previously implicitly declared to return `int'
asuro.c: In function `Encoder_Set':
asuro.c:388: error: `encoder' undeclared (first use in this function)
asuro.c:388: error: `LEFT' undeclared (first use in this function)
asuro.c:389: error: `RIGHT' undeclared (first use in this function)
asuro.c: In function `PrintInt':
asuro.c:394: warning: implicit declaration of function `itoa'
asuro.c: In function `Go':
asuro.c:424: warning: implicit declaration of function `abs'
asuro.c:436: error: `encoder' undeclared (first use in this function)
asuro.c:436: error: `LEFT' undeclared (first use in this function)
asuro.c:437: error: `RIGHT' undeclared (first use in this function)
asuro.c: In function `Turn':
asuro.c:485: error: `encoder' undeclared (first use in this function)
asuro.c:485: error: `LEFT' undeclared (first use in this function)
asuro.c:486: error: `RIGHT' undeclared (first use in this function)
make: *** [asuro.o] Error 1
> Process Exit Code: 2
....was mach ich denn falsch??
..vielleicht sollte ich einfach nochmal neu installieren.
LG Martin
-
Erfahrener Benutzer
Roboter Genie
Also das Problem ist hier, dass du die asuro.h nicht eingebunden hast. Bzw. die falsche. Also du musst in die asuro.h das rein tun was bei mir drin ist und dann in die asuro.c auch das von mir. (Am besten du lädst dir einfach die Dateien runter)
Dann schreibst du in test.c oben #include "asuro.h" und dann dein Programm mit main() usw. Das sollte dann eigentlich klappen.
Andun
www.subms.de
Aktuell: Flaschcraft Funkboard - Informationssammlung
-
Komisch. Ich habe jetzt in Asuro.h und in Asuro.c deine Datei eingefügt und dann bei Peters Programm make angeklickt, es erscheint wider die unendlich lange Fehlerliste.
Soll ich doch lieber wieder die alte Asuro.C und Asuro.h einfügen??
@Mrvin: Ich habe die Motorspeed erhöt, es bleibt alles gleich, nur der Motor summt noch lauter.
Ich hab mal was gelesen von einem Programm, dass den Asuro zum summen bringen soll, wie haben die das gemacht??
LG Martin
-
Neuer Benutzer
Öfters hier
du musst das nicht mir make bearbeitenh, lass einfach die datei und dann lass das mit dem make, das ist überflüssig, du flashst ja nicht asuro.h auf deinen asuro. versuch es mal, müsste klappen!
-
Neuer Benutzer
Öfters hier
so mein roboter macht auch probleme mit den tastern:
ich hatte mir ein programm geschrieben in dem er immer über die serielle schnittstelle ausgeben sollte welcher taster gedrückt sei, also beio K1 "Taster 1 gedrueckt" usw.
aber das funktioniert nicht richtig, immer wenn ich eine taste drücke bringt er mir mehrere meldungen auf einmal also z.b. 1 2 4 gedrückt oder so.
ich habe dann mal das programm von oben abgetippt, dann bringt er mir bei
K1 -> 33
K2 -> 16
K3 -> 8
K4 -> 4
K5 -> 2
K6 -> bringt nichts
stattdessen kommt immer wenn ich nichts drücke ne 1
was ist hier faul ??
edit: ok, das programm von unserem lehrer funktionierte nicht mit dem taster auslesen, also das was oben steht.
wenn ich allerdings die abfrage etwas anders gestalte dann gehts.
sogar mit dem taster 6, (der ja mit dem programm von diesem thread immer ne 1 bringt auch wenn er nicht gedrückt ist), funktionierts.
nur fährt er eben nicht bei dem programm, er ruckelt nur ganz langsam, denke mal das liegt an der 1 die er andauernd sendet, er weis dann wohl nicht ob er fahren oder stehen soll.
also wo liegt hier das problem ?
P.S. ich habe die zeile in der asuro.c (return ((10240000L/(long)i-10000L)*65L+5000L)/10000 bereits angepasst
-
Neuer Benutzer
Öfters hier
weis keiner eine antwort ???
-
Neuer Benutzer
Öfters hier
Hallo fireburner!
Hatte auch das Problem, dass die Werte beim Drücken der Taster
nicht übereinstimmten.
Die Angelegenheit mit den dauernden 1en auch ohne gedrückten
Taster hatte/habe ich ebenfalls.
Dass bei Dir jedoch nichts kommt wenn Du den K6 drückst,
deutet auf ein Kontaktproblem hin.
Was passiert wenn Du die Anschlüsse des Tasters mit einer
(leitenden) Pinzette überbrückst? Stimmt der zugehörige
Widerstand (68k)? Hast Du die Möglichkeit den Wert
nachzumessen?
Habe dann mit dem Wert in der asuro.c (bei Dir jetzt 65) in 0.5-er
Schritten solange rumprobiert, bis zumindest die Zahlenwerte zu
den Tastern gepasst haben - auch bei beliebigen Kombinationen.
Wenn sich das garnicht hinbiegen lässt, haben Deine Widerstände
(oder einige) doch höhere Toleranz als erlaubt und Du musst
sie ggf. austauschen.
Die 1er kamen dann aber weiterhin auch ohne Betätigung
bei mir im Hyperterminal.
Aber das scheint (zumindest bei mir) nichts auszumachen,
denn wenn ich ihn dann mit einem Programm laufen lasse,
das PollSwitch() auswertet, reagiert er wirklich erst wenn
irgendein Taster gedrückt wird.
Probiers nochmal aus, es erfordert schon etwas Geduld,
zumal man ja nach jeder Änderung speichern, neu
kompilieren und flashen muss.
Viel Glück!
Grüße,
Rainer
-
Neuer Benutzer
Öfters hier
nunja ich habe mich wohl falsch ausgedrückt
bei k6 kommt halt trotzdem ne 1 aber man kanns halt nicht wirklich unterscheiden.
allerdings hab ich nochmal son programm gemacht, das mir dann bei den jeweiligen tastern über ir gesendet hat welcher taster gedrückt wird.
und da zeigt er alle taster an auch k6. und auch die ständigen 1en stören die abfrage von k6 nicht.
nunja dann mal noch ne frage wie ihr das macht mit dem tasterauslesen, ich hab bisher immer die pollswitch funktion mit der jeweiligen zahl, also 32, 16 usw. inner if anweisung verglichen. gibts da noch andere möglichkeiten ?
nur besteht jetzt noch die frage ob sich die werte durch aufheizen der widerstände im betrieb nicht ändern können und dann plötzlich dadurch vieileicht der wert 33 statt 32 kommt und somit meine funktion nicht mehr funktionieren würde.
außerdem habe ich noch das problem wie ich ja oben beschrieben habe mit dem programm von diesem thread, nämlich das er nicht fährt.
also motoren funktionieren ja, das beim testprogramm ohne probleme geklappt hat.
was kann da noch sein ?
-
Neuer Benutzer
Öfters hier
-
Neuer Benutzer
Öfters hier
nunja, wäre euch sehr dankbar wenn doch noch jemand etwas dazu wüsste !!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen