Textausgabe Siemens Display

OP #2422527
Lesenswert?

1
ISR(USART_RXC_vect)
2
{
3
  unsigned char nextChar;
4

5
  nextChar = UDR;   // Daten aus dem Puffer lesen
6
  if( uart_str_complete == 0 )    // wenn uart_string gerade in Verwendung, neues Zeichen verwerfen
7
  {
8
    // Daten werden erst in uart_string geschrieben,
9
    // wenn nicht String-Ende/max Zeichenlänge erreicht ist/string gerade verarbeitet wird
10
    if( nextChar != '\n' &&
11
        nextChar != '0x0D' &&
12
        uart_str_count < UART_MAXSTRLEN - 1 )
13
    {
14
      uart_string[uart_str_count] = nextChar;
15
      uart_str_count++;
16
    }
17
    else
18
    {
19
      uart_string[uart_str_count] = '\0';
20
      uart_str_count = 0;
21
      uart_str_complete = 1;
22
    }
23
  }
24
}
25

26

27

28

29

30
void msg_bearbeiten(const char *s) // Nachricht in Hexzeichen Umwandeln
31
{
32
  char Buffer[20];
33
  while (*s)
34
  {
35
    // so lange *s != '\0' also ungleich dem "String-Endezeichen(Terminator)"
36
    uart_puts(itoa( (*s), Buffer, 16 ));
37
    s++;
38
  }
39
  uart_putc(0x0D); // "Enter"
40
}
41

42
void text_ausgeben ()
43
{
44
#define MAX_TEXTAUSGABELAENGE 30
45

46
  char msg[MAX_TEXTAUSGABELAENGE] = "Hallo Welt";
47
  char s[5];
48
  int msglen = 0;
49
  int hexanzahl = 0;
50
  char Buffer_0[20];
51

52
  msglen = strlen(msg); //Wie viele Hex-Pakete werden (ohne ESC) gesendet ?
53

54
  hexanzahl = msglen + 14;
55

56

57
// Echo Ausschalten
58
  uart_puts("ATE0");
59
  uart_putc(0x0D);
60

61
// Handy "Vorbereiten"
62
  uart_puts("AT^SSTK=");
63
  uart_puts(itoa( hexanzahl, Buffer_0, 10 ));
64
  uart_puts(",0"); // 0 da single command
65
  uart_putc(0x0D);
66

67
// Intialisierungssequenz
68
  uart_puts("D0");
69
  hexanzahl = hexanzahl - 2;
70
  uart_puts(itoa( hexanzahl, Buffer_0, 16 ));
71
  uart_puts("8103012180820281028D");
72

73
// Ab hier Erstellen der Textnachricht
74
  uart_puts("04");
75
  uart_puts(itoa( msglen, Buffer_0, 16 ));   //Nacchtrichtenlänge in Hex senden
76
  msg_bearbeiten(msg);                       //Text Umwandeln und Senden
77
}

Ich habe Das Programm testenkönnen, da ich feststellen musste,
dass mein handy nicht Kompertiebel ist :-(

Der Code Basiert u.a. auf dem Code von Niels Keller der in Basic 
geschrieben ist.

LG

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