RCREG1 löschen (PIC18)

OP #2753197
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
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
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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.