Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: kleines Terminal-Programm Kategorie: Programmierung Basic (von Hannes - 13.11.2006 8:59)
Als Antwort auf Re: serielle Schnitstelle von ToKu - 10.11.2006 15:57
Ich nutze:
C-Control Pro Mega32, eigenes Board
Hallo,

anbei ein kleines C-Programm, das ein Zeichen welches über die Tastatur eingegeben und mit Hyper-
Terminal zum Mega übertragen wird auf das LCD (4x20) ausgibt. Vor dem Start von Hyper-Terminal muss
die C-Control IDE geschlossen werden, da sonst keine Verbindung hergestellt werden kann. Die
Parameter von COM1 müssen wie im Programm eingestellt werden, Flusssteuerung: kein. Wenn mit
der C-Control IDE eine Verbindung hergestellt werden kann, passt auch das Kabel.

Gruss





__________________________________________________________________________________

#define LF 0x0A                                             // Zeilenvorschub
#define CR 0x0D                                             // Wagenrücklauf
#define SPACE 0x20                                          // Leerzeichen

byte c, LCD_Pos;

void main(void)
{

    Serial_Init(0,SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD19200);   // Schnittstelle 0, 8Bit, 1Stop-Bit
                                                                                                  // keine Parität, 19200Baud

    LCD_Init();                                             // Display initialisieren
    LCD_ClearLCD();                                         // Display löschen
    LCD_CursorOff();                                        // Display Cursor ausschalten
    LCD_Pos=0x00;                                           // Start-Pos.


    while(1)
    {
        c=Serial_Read(0);
        LCD_Ausgabe(c);

    }

}


void LCD_Ausgabe(char Zeichen)                              // LCD: 4 Zeilen mit je 20 Zeichen
{

    LCD_CursorPos(LCD_Pos);
    LCD_WriteChar(Zeichen);
    LCD_Pos++;

    if (LCD_Pos==0x14)                                      // wenn am Ende von Zeile 1
        LCD_Pos=0x40;                                       // weiter in Zeile 2

    if (LCD_Pos==0x54)                                      // Ende Zeile 2
        LCD_Pos=0x14;

    if (LCD_Pos==0x28)                                      // Ende Zeile 3
        LCD_Pos=0x54;

    if (LCD_Pos==0x68)                                      // wenn am Ende von Zeile 4
    {
        LCD_ClearLCD();                                     // LCD löschen
        LCD_CursorOff();
        LCD_Pos=0x00;                                       // weiter in Zeile 1
    }

}

__________________________________________________________________________________________

> hast du denn überhaupt schon eine verbindung von der CCpro zum pc?
>
> > Hallo!
> > Ich habe folgendes Problem. Es soll die serielle Schnitstelle von der Mega 32/128 einen ASCI-String
> > emfangen und diesen im Prg. weiterverarbeiten. Leider bekomme ich das mit der RS232 nicht zum laufen.
> > Ich habe schon einiges versucht z.B. Hyperterminal, Testgerät für RS232 usw. leider keinen Erfolg.
> > AuÃ?erdem habe ich auch schon TX und RX vertausch aber ohne Erfolg. Kann mir einer einen String
> > geben wie man die RS232 abfragt und das der emfangene Wert (dezimal 3-stellig) in eine Variable
> > speichert. Besten Dank für eure Bemühungen.


    Antwort schreiben


Antworten: