Forum: Mikrocontroller und Digitale Elektronik C167 + serielle Schnittstelle


von fresh (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.