ASCII-Zeichen empfangen und auf LC-Display ausgeben

Microcontroller PIC und Atmel AVR

Microcontroller PIC und Atmel AVR

Moderator: Moderatorengruppe

ASCII-Zeichen empfangen und auf LC-Display ausgeben

Neuer Beitragvon backtobasic am Mittwoch 30. Mai 2007, 15:33

Hallo @ll,

ich habe eine elektronische "Blackbox", die mir Messwerte als ASCII-Zeichen sendet.

Zum Beispiel diese Zeichenfolge:
006 057 048 056 013
Das entspricht folgendes:
ACK 9 0 8 CR

Nur wie lese ich diese Zeichen nacheinander mit einem AVR mittels UART ein?

Möchte folglich gerne wissen, wie ich dem AVR "klarmache", dass bei ACK der AVR in Empfangsmodus geht, dann die 9 0 8 nacheinander einliest und dass bei CR die Übertragung beendet ist.
Die Zahlen 9 0 8 sollen dann sofort nach der Übertragung in einem String als 908 gespeichert werden, damit diese auf einem LC-Display angezeigt werden können.
In ASM komme ich nicht wirklich zurecht, in C sollte es schon sein!

Vielen Dank,
backtobasic
Zuletzt geändert von backtobasic am Montag 11. Juni 2007, 14:35, insgesamt 2-mal geändert.
backtobasic
backtobasic
Threadstarter
26883
Bronze Mitglied
 
Beiträge: 36
Registriert: Donnerstag 28. Oktober 2004, 18:13

Re: ASCII-Zeichen empfangen und mit 7-Segment-Anzeige darste

Neuer Beitragvon derguteweka am Mittwoch 30. Mai 2007, 17:08

Moin,

backtobasic hat geschrieben:In ASM komme ich nicht wirklich zurecht, in C sollte es schon sein!


Habs jetzt natuerlich nicht ausprobiert, aber vielleicht sowas irgendwie in der Art:
Code: Alles auswählen
#define BUFLEN (10)
void serial2string(unsigned char bytefromuart)
{
    static unsigned char buffer[BUFLEN];
    static int ptr;

    if (bytefromuart==6)
    {
        ptr=0;
    }
    if (bytefromuart==13)
    {
        buffer[ptr]=0;
        display(buffer);
    }
    if ((bytefromuart > 31) && (bytefromuart < 127))
    {
        buffer[ptr]=bytefromuart;
        if (ptr < BUFLEN-1)
        {
            ptr++;
        }
    }
}

In dem Array "buffer" liegt ein nullterminierer String, der dann von "deiner" Funktion display auf dein Display ausgegeben werden kann, wenn ein CR empfangen wurde.

Gruss
WK
derguteweka
26885
Moderator
 
Beiträge: 1043
Registriert: Freitag 18. August 2006, 15:47


Zurück zu Atmel AVR Pic und C Control

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast