Hallo, ich versuche gerade ganz simpel vom M32C/83 über den UART0 irgendwas an meinen PC (HyperTerminal) zu senden. Doch irgendwie klappt das nicht. Ich denke mal, dass meine Konfiguration irgendwo hakt. Bisher habe ich folgendes konfiguriert: // Protection Register PRCR = 0x02; // ?? xxxx 0010; // PRC1 --> Enables writing to PM0, PM1, INVC0, INVC1 registers // Processor mode register 0 PM0 = 0x00; // PM00+PM01 = 00 --> Single-Chip Mode PRCR = 0x00; // xxxx 0000 // UARTi baud rate register ( clk_tmp = (CLOCK 1 16 / BAUD) - 1; /* Set the baud rate */ // (f1/(TC*16))-1 = m; f1=30MHz, TC=9600Baud --> m=203 U0BRG = clk_tmp; // UARTi transmit/receive mode register U0MR = 0x05; // 00000101; // SMD0-2 = 101 --> UART mode, transfer data 8 bits long // CKDIR = 0 --> Internal Clock // STPS = 0 --> 1 Stop bit // PRY = x(0) --> Enabled when PRYE = 1 // PRYE = 0 --> Parity disabled // IOPOL = 0 --> TxD, RxD i/o not switched // Control Register 0 (CTS=Clear To Send; RTS=Request To Send) U0C0 = 0x10; // 0001 x000: f1 */ // CLK0=0+CLK1=0 --> Selects f1 // CRS=0 // CRD=1 // Control Register 1 U0C1 = 0x01; // 0000 x0x1 // Port Direction PD6 = PD6 & 0xF8; // 11111000; // RxD0 = 0 --> Input PD6 = PD6 | 0x08; // 00001000; // TxD0 = 1 --> Output //---config - Ende---- Des Weiteren würde ich denken, dass ich das Function Select Register A0 (PS0) noch einstellen müsste. Doch da stürzt mir das Programm immer ab. //PS0 = PS0 || 0x08; // 00001000; // setzen der '1' //PS0 = PS0 && 0x08; // 11111000; Zum Schluß wollte ich einfach einen Buchstaben verschicken: U0TBL = 'H'; Ich bin mir auch gar nicht ganz sicher, was ich überhaupt alles konfigurieren muss. Über eure Hilfe wäre ich sehr dankbar. Gruß Bastian
Dann ist es ja mal gut! Mich und wahrscheinlich alle anderen Forumsbesucher interessiert das Problem, der Fehler ehh nicht die Bohne - absoluter Irrglaube, was den meisten beim Stichwort 'Forum' (und nicht nur die, die mal Latein genossen haben) einfällt. kein Grund also für dich ausführlich, öffentlich zu schreiben!!!!! Das wäre ja noch schöner, wenn jeder Infos abrufen könnte.
@chrissy jo, gut gemeckert ;-) Du hast völlig recht! Nur, meine Scriptfiles, die ich versendet habe, sind nicht zur Veröffentlichung gedacht (nicht kommentiert etc.). Vieleicht hatte ich ja auch nur geschrieben, dass ich mich mit Ihm über den M32C austauschen möchte? Grüße Lutz
Hi, also ich habe nach weiterer langer Suche ein gutes Stück Code von Dietmar in diesem wunderbaren Forum gefunden: http://www.mikrocontroller.net/forum/read-1-44944.html#44944 Eigentlich habe ich auch alles so konfiguriert, jedoch habe ich eine andere (ältere) Header-Datei eingebunden und benutzt. Dietmar hat folgende eingebunden: sfr32c83.h Darüber lassen sich die Bits der Register auch einzeln ansprechen, was in meiner Headerdatei nicht möglich war. Ich kann also leider nicht ganz direkt sagen, wodran es nun lag. Wie oben zu sehen ist, habe ich das ganze in C programmiert. Welche Headerdatei habt ihr denn eingebunden? Und welche habt ihr für die Interrupts? Danke und schöne Grüße Bastian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.