PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN-Control 1.4 Selbstgeschriebenes funktioniert, Beispielprogramm aber nicht ?



Patze
22.01.2012, 22:31
Hallo,
ich habe mir kürzlich das RN-Controllerboard geleistet um die ersten MC Erfahrungen zu sammeln und später mal einen einfachen Bot zu basteln.

Als ich das Board bekam, lief das vorinstallierte Testprogramm ( ich vermute es ist das Selbe wie im RN-Wiki ) beim ersten Spannung anlegen wunderbar, Lauflicht lief einwandfrei & es piepste vor sich hin - mehr konnte ich ohne Anschluss an den PC nicht testen ;D

Nachdem ich mir die ersten Basic/Bascom Tutorials zu gemüte geführt hatte, wollte ich mal mein erstes Testprogramm auf den Chip schieben.
Gesagt, getan - über den MysmartUSB unter Verwendung der Einstellung "AVR ISP Programmer" in Bascom konnte ich besagtes Testprogramm auf den Chip flashen.



$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600

Dim I As Integer
Dim N As Integer

Do
Config Portc = Output
For N = 1 To 10
For I = 0 To 7
Portc.i = 0
Waitms 100
Portc.i = 1
Next I
Next N

Loop


Prinzipiell ist das ein Ausschnitt aus dem Beispielprogramm - es läuft einwandfrei & auch andere, welche beispielsweise den Minilautsprecher zum piepsten bringen sollten.

Allerdings habe ich 2 Probleme, für welche ich auch nach langem stöbern im Forum keine Lösung finden konnte:

Zum einen funktioniert das Beispielprogramm nicht mehr, wenn ich es aus der Wiki kopiere und einfüge -> compiliere und rüberschiebe bzw nur eingeschränkt.
Wenn ich eine Taste drücke piepst der Lautsprecher, aber das Lauflicht beispielsweise startet nicht.
Außerdem kann ich über den Bascom Terminal Emulator ( unter Verwendung des richtigen COM Ports und auch baudrate ) keinerlei "printausgaben" empfangen... laut der Terminal Simulation müsste der Code aber funktionieren...

Ich hoffe ihr könnt mir da den einen oder anderen guten Tipp geben ;)

Sauerbruch
22.01.2012, 23:10
Moin Patze,

es wäre ganz hilfreich, wenn Du den kompletten Code posten könntest, der nicht funktioniert. Dann findet sich der Fehler bestimmt...

Und bis dahin noch zwei Tipps & eine Frage:

1. Befehle wie "Config PortC = Output" sollten vor die Do-Loop-Schleife.
2. Variablen, die Werte zwischen 1-10 bzw. 0-7 annehmen sollen, können auch als Byte dimensioniert werden. Das spart RAM-Speicher!
3. Wozu brauchst Du die Variablen I und N überhaupt? :-)

Gruß,

Daniel

oberallgeier
22.01.2012, 23:23
... Zum einen funktioniert das Beispielprogramm nicht mehr ...Dumm dumm, ich kann kein Bascom. Aber ich lese bei Dir etwas von Port C - und da fällt mir beim mega32 gleich das JTAG-Interface ein. WENN das JTAGEN (ENable - Flag) nicht dieses Interface abschaltet, dann läuft die Hälfte der PortC-Pinne nicht bzw. nicht korrekt. Lies mal dazu Datenblatt, Kapitel Pin Description, Abschnitt Port C.

Und die RS232 - manchmal steckt nur die Kabelbuchse verkehrt rum am Stecker.

Viel Erfolg

Patze
23.01.2012, 00:17
Morgen ;)
Ich dank euch beiden für die schnellen Antworten!

Also der Code der bei mir nicht(mehr) funktioniert ist das Beispiel/Testprogramm aus dem RN-Wissen Teil über des RN- Board, daher denke ich, dass dieser Code getestet und funktionsfähig ist. Den Schnipsel, welchen ich
oben angeführt hab ,habe ich als Testprogramm verwendet. Standalone funktioniert der Teil einwandtfrei - im eben erwähnten Testprogramm aber nicht. Link zu besagtem Program ( http://www.rn-wissen.de/index.php/RN-Control )

Die Jtag einstellungen sollten ( wenn ich mich nicht verlesen hab ) beim RN-Control schon voreingestellt sein &, die LED's funzen ja auch... da das programm im auslieferungszustand noch lief, vermute ich, dass es auch eingestellt ist/war - ich werde das aber morgen/ später nochmal checken & rückmeldung geben obs daran lag :)

PS: Die Variablen waren notwendig, ohne die hat die Schleife nicht hochzählen können :o Da ich erst seit 2 Tagen mit Basic kontakt hab, hab ich da die feinheiten noch nicht raus - aber den Tip mit dem config... Werdsch mir merken, danke dafür ;)