Hallo,
ich habe ein Problem. Ich habe ein C# Programm geschrieben mit den ich
daten über den Com Port schicken kann. Mein uC soll diese nun empfangen.
Sobald Daten empfangen werden, soll die LED am Port-D leuchten.
Vorher aber erstmal die 2 programme.
einmal mein uC Programm (Kommt aus den AVR Tutorial, also wird es wohl
nicht daran liegen):
hier noch die Form dazu
Bild im Anhang form1.JPG
dabei ist der Button "Daten Senden" Button2 und links daneben die
Textbox1
So als Programmer habe ich den myAVR mySmartUSB MK2 bzw habe das
kommplette uC Board. Hier ein Bild vom Programmer:
Bild im Anhang mysmartusb_g.png
Ausgangssituration: Programm auf uC und das uC Board am PC via USB
angeschlossen. Rote LED vom Programmer leuchtet
Wenn ich jetzt das myAVRControlcenter benutze (hier ein Bild)
Bild im Anhang programm.JPG
und die Verbindung herstelle (Start Button oben rechts) dann geht die
rote Led von den Programmer aus und die 2 grünen Leds an.
Gebe ich dann im myAVR Controllcenter unter Daten Senden was ein und
klicke Senden werden die Daten übertragen (grüne LEDs blinken) und der D
Port vom uC wird gesetzt. -> Die Led Leuchtet (Port D PIN2 ist mit einer
Led verbunden)
Wenn ich das ganze über mein C# Programm probiere, geht die rote LED vom
Programmer nicht aus. Gebe ich in der Textbox was ein und klicke den
Butten "Daten Senden" leuchten zwar die beiden grünen LEDs vom
Programmer kurz auf (also es wird wohl etwas übertragen), aber der uC
bzw das Programm macht nichts. Also die LED am D Port leuchtet nicht.
Wie kann ich das Problem lösen?
Wäre super wenn einer eine Lösung weiß
Schonmal vielen Dank für die Antworten!
mfg André
Hier mal nen Schwung Ideen:
- Kann es mit den Steuerleitungen der Schnittstelle zusammen hängen?
- Ist es vielleicht problematisch, dass du die Schnittstelle immer
wieder auf und wieder zu machst? Eventuell gehen dann Einstellungen
verloren?
- Das Öffnen und Schließen der Schnittstelle wirkt sich sicherlich auch
irgendwie auf die Steuerleitungen aus.
- Werden die Daten vielleicht nicht komplett gesendet? ->
Terminalprogramm und 2/3 Brücke könnten dir da helfen.
- Mit dem Terminalprogramm könntest du auch die Funktionalität der µC
Software testen.
- Fehlen vielleicht Steuerzeichen wie ein Zeilenumbruch am Befehlsende?
Noch was: In beim Senden hast du im catch-Block die Schnittstelle nicht
geschlossen. Könnte zu Problemen führen. In solchen Fällen (also wenn
etwas auf jeden Fall passieren soll, sowohl im try als auch im catch)
gibt es noch den finally-Block. Such mal bei Google nach "try catch
finally" da gibts mehr Infos.
Ich hoffe, ich konnte dir den ein oder anderen Tip geben, der dir auch
hilft...
Sven
@ Hans G.
Danke das war der Fehler! Also wenn ich den Schalter 2 auf on schalte
funktioniert alles! Boah bin ich happy. Vielen Dank.
Weiß jemand zufällig wie ich das über der Softwarelösung realisiere?
Gruß André
Hallo André,
ich hab mir einfach mal vom vorangegangenen Thread die Datei für SiSy
runter geladen. (Danke für die Vorarbeit) Ich hab die dann mal etwas
angepasst. Also die Modi schalten kann der Programmer aber das andere
muss ich erst noch ausprobieren.
Achtung, ich hab eine Baud-Rate von 19200 (damit ist es einfacher) und
COM 9 verwendet. Kannste dir ja bei Bedarf anpassen.
Gruß Ralf