Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
artikel:ateval:usart-ringpuffer [2013/04/07 12:23] – LED Ausgabe für Pufferüberlauf hinzugefügt Hannes Jochriemartikel:ateval:usart-ringpuffer [2024/02/06 09:43] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +<code c>
 /* /*
- LED-Blinker+ Ringpuffer
  * Einfacher Code, der den UART initialisiert und die   * Einfacher Code, der den UART initialisiert und die 
- * empfangenen Bytes in einen Rinpuffe schiebt + * empfangenen Bytes in einen Rinpuffer schiebt 
- * Sind Bytes im Ringpuffer werden diese zurueckgeschickt+ * Sind Bytes im Ringpufferwerden diese zurueckgeschickt
  * Als Baudrate wird 9600Bd eingestellt  * Als Baudrate wird 9600Bd eingestellt
  * http://www.eHaJo.de  * http://www.eHaJo.de
Zeile 23: Zeile 24:
  
 // globale Variablen // globale Variablen
-// volatile ist noetig da die Variablen in der ISR veraendert werden+// volatile ist noetigda die Variablen in der ISR veraendert werden
 volatile uint8_t ringpuffer[PUFFERSIZE]; volatile uint8_t ringpuffer[PUFFERSIZE];
 volatile uint8_t ring_schreibe = 0;  volatile uint8_t ring_schreibe = 0; 
Zeile 36: Zeile 37:
  temp = UDR;  temp = UDR;
   
- // Schreibeposition inkrementieren+ // Schreibposition inkrementieren
  ring_schreibe++;  ring_schreibe++;
   
- //Schreibeposition auf Puffergroesse beschraenken+ //Schreibposition auf Puffergroesse beschraenken
  ring_schreibe %= PUFFERSIZE;  ring_schreibe %= PUFFERSIZE;
   
Zeile 50: Zeile 51:
  }  }
  else  else
- { // Puffer ist voll, Schreibeposition wieder dekrementieren+ { // Puffer ist voll, Schreibposition wieder dekrementieren
  // LED an zeigt vollen Buffer an  // LED an zeigt vollen Buffer an
  PORTD |= LED1;  PORTD |= LED1;
Zeile 79: Zeile 80:
  {  {
  if(ring_lese != ring_schreibe)  if(ring_lese != ring_schreibe)
- { // He, es ist was im Rinpguffer!!!+ { // He, es ist was im Ringpuffer!!!
   
  // Leseposition inkrementieren  // Leseposition inkrementieren
Zeile 104: Zeile 105:
                 _delay_ms(1);                 _delay_ms(1);
 } }
 +</code>