Gast
#693134
Hallo an alle
Ich bin gerade dabei für einen C167 die serielle schnittstelle zu
konfigurieren und Funktionen zur Benützung zuschreiben! Daher habe ich
eine Funktion printf_asc geschrieben welche einen Satz buchstabenweise
verschickt! Jedoch funktioniert es derzeit nur das der erste und letzte
Buchstabe ankommen!
im Main: printf_asc("test");
function.h: void printf_asc(char data[]);
function.c:
void printf_asc(char data[]){
int i;
i = 0;
do{
write(data[i]);
i++;
}
while (data[i] != '\0');
}
void write(char data){
do{
}
while(S0TBIR != 1);
S0TBUF = data;
}
char rBuf[10];
int rBufindex = 0;
void asc0_isr (void) interrupt 0x2B{
rBuf[rBufindex] = S0RBUF;
rBufindex == 9 ? rBufindex = 0 : rBufindex++;
}
Die Interrupt Service Routine wird wie gesagt nur 2 mal aufgerufen!
Sieht da irgendwer vielleicht einen groben Fehler!
Danke im vorhinein