Frage zur UART0 Terminaldatenausgabe!!

Frage zur UART0 Terminaldatenausgabe!!

Postby chahath » Mon Jan 14, 2019 3:27 pm

Hallo,

ist folgendes Grundgerüst richtig?
Oder fehlen noch Variablendefinitionen etc.? Wenn ja welche?
Wo soll return data; hinspringen? Ich finde keine Funktion data
Und dann reicht an irgendweiner Stelle im Code der Befehl

sendTxd0 (receiveRxd0(); ?

Würde mir dann zum Bsp. an der Stelle nach einer Formel das Ergebnis der Formel ins Terminal übertragen?

maxlimit = 58*ad
sendTxd0 (receiveRxd0();


void UART0_init (void) https://www.minimilitia.mobi/ https://www.applock.ooo/ https://www.7zip.vip/

{
p1 = p1 | 0x10;
pd1 = pd1 | 0x10;
pd1 = pd1 & 0xdf;
u0mr = 0x05;
u0c0 = 0x00;
u0rrm = 0;
u0brg = 130-1;
re_u0c1 = 1;
}

void sendTxd0 (unsigned char data)
{
while (ti_u0c1 == 0);
u0tbl = data;
te_u0c1 = 1;
}

unsigned char receiveRxd0 (void)
{
unsigned char data;
unsigned char dummy;
while (ir_s0ric == 0);
ir_s0ric = 0;
data = u0rbl;
dummy = u0rbh;
re_u0c1 = 1;
return data;
Last edited by chahath on Mon Jan 14, 2019 7:16 pm, edited 1 time in total.
chahath
 
Posts: 22
Joined: Fri Jan 04, 2019 12:00 pm

Re: Frage zur UART0 Terminaldatenausgabe!!

Postby wollekr » Mon Jan 14, 2019 5:22 pm

Hallo,

Nein. Der Code stammt offensichtlich aud der Elektor 2/2006. Dort ist beschrieben, dass "sendTxd0 (receiveRxd0());" dass mit receiveRxd0() empfangene Zeichen mittels sendTxd0() zurückschickt, also echoed.

Wenn Du maxlimit ausgeben willst, so musst Du den Wert erst in ASCII umwandeln und dann jedes einzelne Zeichen mit sendTxd0() ausgeben.

In Etwa so:

#include <stdio.h> // Für sprintf()

int maxlimit ;
char buffer[8];
.
.
void main(void)
{
int i;
.
.
sprintf(buffer, "%d", maxlimit); // z.B. Wert in ASCII umwandeln
for (i=0; buffer[i] != '\0'; i++) // Einzelnen Zeichen ausgeben.
sendTxd0(buffer[i]);
sendTxd0('\r'); sendTxd0('\n'); // CR+LF ausgeben.

BTW: u0brg = 130-1; bestimmt die Baudrate. Wie im Artikel angegeben ergibt das 9600 Baud bei einem Prozessortakt von 20MHz. Dazu muss der R8C/13 aber entprechend initialisiert werden.

Und Du weißt auch, dass Du Dich in alten Kram einarbeitest, denn der R8C/13 ist abgekündigt und die Tools für die Entwicklung (HEW, C-Compiler usw.) werden schon längere Zeit nicht mehr weiterentwickelt?
wollekr
 
Posts: 28
Joined: Fri Jan 03, 2014 1:48 pm


Return to Das R8C-Projekt

Who is online

Users browsing this forum: No registered users and 0 guests