Mikrocontroller hängt sich auf bei SCI Kommunikation

OP #3316536
Lesenswert?

Hallo Com,
ich habe folgendes Problem:
Mein Mikrocontroller (MC9S08AW609: 
http://www.freescale.com/files/microcontrollers/doc/data_sheet/MC9S08AW60.pdf) 
hängt sich beim Empfangen von Daten leider auf.

Ich benutze HTerm zur Komunikation mit dem PC.
Das Senden funktioniert einwandfrei, Daten können ansich auch empfangen 
werden nur eben nur kurz bzw. manchmal.

Hier werden die Funktionen aufgerufen, die Daten senden und empfangen 
sollen.
1
while(j<1){ 
2
        SCI_WRITE(0x48);
3
        SCI_READ();
4
        dummy = SCI_READ2();
5
        SCI_WRITE(dummy);
6
        SCI_READ();
7
      
8
        
9

10
        j++;
11
        }

Hier die drei Funktionen. Am Ende soll nur eine Readfunktion existieren, 
dass ist klar. Doch das ist gerade nur zu Testzwecken. Mal tue ich den 
ResetWatchdog bei der einen rein mal nicht, etc um zu testen.
1
void SCI_WRITE(byte b){    
2

3
  if(SCI2S1_TDRE == 1){
4
    SCI2D = b;
5
  }
6
  while(SCI2S1_TC == 0) {
7
  ;
8
  } 
9
}
10

11
void SCI_READ(void) {
12

13
 byte dummy;
14
 
15
  while (SCI2S1_RDRF == 0) {
16
   ;
17
  }
18
  dummy = SCI2D; 
19
}
20

21
byte SCI_READ2(void) {
22

23
 byte dummy;
24
 
25
  while (SCI2S1_RDRF == 0) {
26
  ;
27
  }
28
  dummy = SCI2D;
29
  
30
  return dummy; 
31
}

Hat eventuell einer einen Ansatzpunkt? Das würde mir schon reichen 
genauer suchen kann ich dann selber.

Dankeschöön!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren