Re: Seriellen Port Initialisieren Kategorie: Progr. Assembler, TaskingTools, OS (von André H. - 29.01.2005 21:09) | ||
Als Antwort auf Seriellen Port Initialisieren von Thomas - 27.01.2005 5:52 | ||
| ||
Hallo Thomas, > ich möchte mit Assembler Code von einem PC empfangen. Während des Bootstrap-Modus geht das auch ohne > Probleme. Wenn ich dann aber aus einem geladenen Programm mit der selben Routine wieder Code empfangen > will gibt es Probleme. Die C-Control empfängt zwar anscheinend die Bytes hängt sich dann aber beim > Senden des Echos auf. > > Den Code zur Initialisierung habe ich aus dem disassemblierten OS kopiert. Er lautet folgenderma�en: > > MOV S0CON,#8011h > MOV S0EIC,#00h > MOV S0RIC,#057h > MOV S0TIC,#056h > > Bei der dem Wert für das Register S0BG war ich mir nicht ganz sicher. Der Standardwert im OS scheint > 40h zu sein. Dies müsste dann wohl einer Baudrate von 19200 Baud entsprechen. Ich habe diesen Wert > gewählt. Beachte bitte folgendes: Die Standard-Baudrate im Hostmode ist 19.200, jedoch nach Programmstart nur 9.600 ! Um die Baudrate zu setzen, benötigst Du jedoch das Register S0BG. Die Register, die Du setzt, sind ein Control-Register und drei Interruptregister von HWCOM. Hier die Werte für die versch. Baudraten: 300Bd: 0x822 600Bd: 0x410 1200Bd: 0x208 2400Bd: 0x104 4800Bd: 0x81 9600Bd: 0x40 19200Bd: 0x1f 38400Bd: 0xf 57600Bd: 0xa 115200Bd:0x4 (eigentlich 125000Bd) MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: Seriellen Port Initialisieren (von Thomas - 30.01.2005 22:11) Re: Seriellen Port Initialisieren (von Thomas - 2.02.2005 0:32) Re: Seriellen Port Initialisieren (von André H. - 13.02.2005 11:30) |