Meine Glaskugel sagt: "Taster kalibrieren"
Der Quellcode des Programms wäre dann noch interessant...
"Bei den Kollegen geht alles!" Selbe Hex-Datei?
Hi , habe ein Problem mit dem Asuro und zwar habe einen Tastertest durchgeführt, dass beim betätigen des Tasters die Statusled rot leuchten sollte, aber es passiert nichts.
Bei den Kollegen geht alles!
Brauche hilfe.
Danke
Meine Glaskugel sagt: "Taster kalibrieren"
Der Quellcode des Programms wäre dann noch interessant...
"Bei den Kollegen geht alles!" Selbe Hex-Datei?
Geändert von radbruch (05.01.2012 um 15:20 Uhr)
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
#include <asuro.h>
int main(void)
{
Init()
while(1){
if (PollSwitch()>0) {StatusLED (RED);}
else (StatusLED (GREEN);}
diesen Code habe ich aus der Asuro anleitung entnommen auf seite 60.
Sorry was mienstest du mit Taster kalibrieren?
Also wir haben einen Fehler gefunden und zwar waren zwei Widerstände falsch eingelötet und haben diese dann in Ordnung gebracht.
Aber trtzdem geht es nichtrichtig , nur bei Selftest der beim Asuro schon draufgeladen sit, haben wir gemerkt, dass nachdem wir das mit dem Widerständen repariert haben, dass sie Statusled auch reagiert hat.
Aber mit dem obigen Kode passiert nichts.
Das Beispiel auf Seite 60 der Anleitung ähnelt deinem Programm tatsächlich:
Das sollte funktionieren. Das Beispiel von Seite 60 läßt sich wegen den falschen "" in der #include-Anweisung eh nicht kompilieren. Da aber auch dein Programm nicht fehlerfrei kompiliert werden kann, stellt sich die Frage, was du deinem asuro letztlich geflasht hast.Code:#include "asuro.h" int main(void) { Init(); while(1) { if (PollSwitch()>0) StatusLED(RED); else StatusLED(GREEN); } return(0); }
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
ja habe diesen code geflasht und habe die "" durch < > ersetzt.
komisch
Egal ob "" oder <>, ohne ; nach dem Init() macht der Kompiler nicht weiter.
Hast du das Programm gespeichert bevor du es kompiliert hast? Da sind wir nun wieder bei deinen Kollegen: Schreibt da jeder sein eigenes Programm, kompiliert und flasht es dann auf seinen asuro? Oder verwendet ihr einen gemeinamen PC und flasht alle asuros mit der selben Hex-Datei?
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
ne wird sind eine Gruppe, wir haben es abgespeichert und wir verwenden ein Asuro als Gruppe.
Warum sollte er nach dem Inint nciht weitermachen?
Oje, das kapier ich nicht. Aber egal. Mal angenommen, auf deinem asuro befindet sich das funktionierende Tastertestprogramm. Dann sollte bei jeder Kombination von gedrückten Tasten die StatusLED rot leuchten. Und da die Tasten beim Selbsttest halbwegs richtig reagieren sollte man davon ausgehen, dass sie auch in deinem Testprogramm einen Wert > 0 liefern. Nun ist es zufällig ein recht häufiges Problem, dass die Tasterwerte nie (oder selten) wirklich 0 sind. Das liegt in erster Linie an den Bauteiletoleranzen und/oder schlechter Kalibrierung. Wenn also dein asuro immer einen Wert > 0 liefern würde, dann wäre deine StatusLED falsch herum eingelötet. Mit diesem Programm sollte sie grün leuchten:
Code:#include "asuro.h" int main(void) { Init(); // StatusLED leuchtet grün nach Init() while(1); return(0); }
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Danke dir werde es versuchen.
Also damit es verständlich ist, es ist ein gruppenprojekt das in einer 4-Gruppe gemacht wird. und wird wollen einen Sumokampf gegen eine andere Gruppe machen.
Dnake wertde es versuchen.
also hatte ich vergessen, d.h. da eventuell der wert immer >0 ist, passiert beim drücken der taster nichts( also led reagiert nicht), also sollte ich einfach die bedingung >0 entfernen, aber woher weiß das programm, wenn ich einen Taster drücke, bräuchte ich nicht die pollSwitch funktion, wie im obigen Beispiel?
Lesezeichen