Peter Fleury's UART Library uart_getc Problem

OP #916340
Lesenswert?

Hallo Leute,
ich habe ein Problem mit der UART_Lib von Peter Fleury...
Grundsätzlich läuft alles prima, aber ich blicke es einfach nicht wenn
ich 2 Bytes brauche...

Also die normal if abfrage läuft, sieht ca. so aus:
...
 while(1)
 {
  txt=uart_getc();
    if ( txt & UART_NO_DATA )
        {
            /*
             * no data available from UART
             */
        }
    else
        {
    if(txt==1)LCD_clear();
    else if(txt==0x0d)ret();
                else if(txt==3)...?
...

Also eigentlich alles kein größeres Problem. Nun brauch ich nach 
(if(txt==3)) 2 Bytes der Uart um sie der LCDgotoXY(xx,yy) Routine zu 
übergeben... da scheitere ich Momentan dran. Ein einfaches 
xx=uart_getc() fällt weg da er ja sehr wahrscheinlich nur UART_NO_DATA 
bekommt...
Ich blicks echt nicht... HIILFE...

Prozessor ist ja eigentlich egal (AT90S2313 hatte ich noch rumliegen), C 
Compiler ist WINAVR, letzte Version denk ich.

Vielleicht kann mir jemand ja einen kleinen Denkanstoß geben, oder ne 
Routine um 2 Bytes zu Empfangen... also sowas wie get2bytes() oder 
sowas.
Wäre echt super nett.

Viele Grüße
Harry

ps:Ich weiß es ist peinlich, aber manchmal sieht man den Wald vor lauter 
Bäumen nicht mehr....
OP #916426
Lesenswert?

Okay hat sich erledigt...bin doch noch hintergekommen...
Manchmal braucht man einfach eine kurze Pause zwischendrin ;-)
1
void get2bytes(void)
2
{
3
  unsigned int temp;
4
  uint8_t x,y;
5
  
6
  do
7
  {
8
       temp=uart_getc();;
9
  } while ( temp & UART_NO_DATA );
10
  x=(uint8_t)temp;
11

12
  do
13
  {
14
       temp=uart_getc();;
15
  } while ( temp & UART_NO_DATA );
16
  y=(uint8_t)temp;
17

18
  LCDgotoXY(x,y);
19
}

Danke trotzdem fürs Lesen ;-)
Gruß
Harry

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