www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [ M16C ] zu viele mögliche Fehlerquellen ...


Autor: *USER* (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich muss schon wieder reinquatschen mit meinen M16C-Problemen ;o)
Also ich habe eine einfache Midi-Ausgabe über UART0 geschrieben und das
funktioniert nicht so wie es soll ... es kommt zwar definitiv Signal
aus dem UART (LED an die Midibuchse drangehalten) aber am Synth selber
kommt nicht wirklich was passendes an, womit er etwas anfangen kann. Da
ich nicht einmal ein Oszi habe wirds mit der Fehleranalyse jetzt
schwer. Vielleicht fällt euch ja was ein ...

ausprobiert über KD30 Debugger, Code oben im Anhang

Was könnte falsche sein?

Eingestellte UART-Übertragungsgeschwindigkeit ?
sonstige UART-Einstellungen oder Programnmierfehler ?
Kein abgeschirmtes Kabel (ca 30-40cm) ?
Signal zu schwach ? (TXD nur mit 220 Ohm-Widerstand direkt an der
Buchse)

Sorry daß ich soviel Frage aber mit dem M16C hat mans mangels
Bespielapplikationen sowie Programmen und Manuals, die wenn vorhanden
Fehler enthalten, echt nicht leicht als Einsteiger ;o)

Greetz
Chris

Autor: Harald Hermenau (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Du hast vergessen, das Port für den UART zu initialisieren. Nach einem
Reset sind alle Ports auf "Eingang" initialisiert. Für den UART0 muß
Port6 Pin 2 (RXD0) als Eingng und Pin 3 (TXD0) auf Ausgang
initialisiert werden. Dabei aber aufpassen, das die Einstellungen für
RXD1 und TXD1 nicht verändert werden (Monitor!!!).
Was Dokumentationen und Beispiele anbelangt, gibt es einiges im
Internet zu finden. mal nach M16C googeln.

Tschüß

Autor: *USER* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wars leider nicht ;o(
Weitere Vorschläge ?

Mir ist aufgefallen daß eine Standard-LED (20mA) direkt am Signal über
die Widerstände nur sehr sehr schwach aufleuchtet ... Signal vielleicht
doch zu schwach ? Mit was für einer einfachen externen Beschaltung
bekomme ich das hin ?

Autor: Harald Hermenau (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich weiß nicht welche Baudrate Du wünschst. Mit dem Wert "31" kommst
Du auf eine Baudrate von 31250bps.
Berechnet wird der Wert U0BRG wie folgt:
(fclock  Vorteiler  16 / Baudrate) - 1
fclock wird wohl 16MHz sein.
Der Vorteiler wird mit den Bits 0 und 1 im Register U0C0 eingestellt.
Der Faktor 16 ist in der Hardware drinn.
Für z.B 19200 bps wird 16MHz/1/16/19200 - 1 = 51

Ein Stolperstein liegt noch in der Taktgenerierung. Nochmal genau im
Datenblatt nachsehen

Tschüß

Autor: *USER* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ja, genau auf 31250 Baud wollte ich ja hinaus - das stimmt schon.
Irgendwo in der sect30.inc ist auch die Clockrate definiert - da ist
allerdings kein Teiler eingestellt - auch wenn es laut einer
Kurzbeschreibung von KD30 so sein sollte. Hab es auch schon mal so
probiert, daß ich davon ausgegangen bin, daß der Teiler 8 aktiviert ist
... hat aber auch nicht funktioniert ...

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn Du mal versuchst, Datenpakete an den PC zu senden? Dann
könntest Du schauen, ob etwas ankommt und was ankommt.

Autor: Harald Hermenau (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe das Programm mal ausprobiert, mit 9600 bps und die daten auf
das PC Hyperterminal geschickt. Es funktioniert alles.
Das beste ist, Du schickst mir mal alle notwendigen Dateien (also
ncr0.a30 und die sect30.inc und die sfr62.h). Außerdem müßte ich mal
wissen, mit welcher Monitor-Version Du arbeitest.

Tschüß

Autor: *USER* (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Oben im ZIP die 3 Files
Verwenden tu ich KD30 V.3.00 Release

Habe mir jetzt mal nen 7417N besorgt um den Pegel ein bisschen
anzuheben ... probier das heute Nachmittag mal aus obs daran liegen
könnte ...

Vielen Dank für die Bemühungen

Chris

Autor: *USER* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh nein - ich Trottel !
In meiner ganzen Sorge ums Programm und irgendwelche Pegel habe ich
nicht bemerkt, daß ich + und Signal an der Midi-Buche vertauscht habe.
Das hat man davon wenn man sich im Internet ne Buchsenbelegung
raussucht ohne noch einmal eine Zweite zum Vergleich anzusehen ...

Trotzdem noch mal vielen Dank an die, die versucht haben, zu helfen
...

Jetzt beschäftige ich mich noch mit dem Timer und dem LCD-Display und
hoffe, daß ich dann in der Lage bin einen ersten Mini-Sequenzer
aufzubauen ;o)

Sorry nochmal ...

Chris

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.