RCREG1 löschen (PIC18)

OP #2753197
Lesenswert?
• ▲
▼
Hallo zusammen,
wie kann ich das RCREG1 löschen? Ich möchte, dass man 8 Zahlen eingeben 
kann und diese dann in ein Array geschrieben werden. Bei mir ist jetzt 
aber das Problem, dass wenn ich einen Wert eingebe, er diesen in alle 
Felder schreibt. Hier der QT:

Das auslesen der USART- Schnittstelle:
1
char getcUSART(){
2
  if(RCSTA1bits.FERR == 1){
3
    return 0;
4
  }
5
  if(RCSTA1bits.OERR == 1){
6
    RCSTA1bits.CREN = 0;
7
    RCSTA1bits.CREN = 1;
8
    return 0;
9
  }
10
  return RCREG1;
11
}

Das schreiben der Arrays:
1
  for(unsigned int i = 0; i < 8; i++){
2
    while(received != '0' && received != '1'){
3
      received = getcUSART();
4
    }
5

6
    if(received == '0'){
7
      code[i] = 0;
8
    }
9
    else{
10
      code[i] = 1;
11
    }
12

13
    received = 0;
14
    RCREG1 = 0;
15
  }

Ich bedanke mich shconmal für die Hilfe.

David
Gast #2753455
Lesenswert?
• ▲
▼
Das RCREG lässt sich nur durch auslesen des Registers löschen. Ein BCF 
RCREG ist quasi sinnlos. Steht noch ein Byte im Empfangsregister geht 
das Statusbit automatisch wieder auf 1. Im übrigen ist der RX-Buffer 
zwei Byte tief.
OP #2753626
Lesenswert?
• ▲
▼
Ok, danke euch beiden. Meine Lösung sieht nun so aus:
1
  for(unsigned int i = 0; i < 8; i++){
2
    while(!PIR1bits.RC1IF){}
3
    received = getcUSART();
4

5
    if(received == '0'){
6
      code[i] = 0;
7
    }
8
    else{
9
      code[i] = 1;
10
    }
11

12
    received = 0;
13
    RCREG1;
14
    PIR1bits.RC1IF = 1;
15
  }

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.