Juhu es klappt 
Hab dein Programm bischen umgemodelt und nun wird jedesmal ein Text gesendet wenn ich im WebIf den Button drücke.
Waren zwar ein paar ein paar Fallstricke dabei (z.B. if (argc >= 1) habe ich auf if (argc == 1) stehen gelassen und mich gewundert warum es nicht klappt
)
Ist dieser Teil hier:
Code:
int init() //Schnittstelle öffnen und parametrieren
{
/*** Init ***/
//O_RDONLY, O_WRONLY or O_RDWR -
//O_NDELAY (geht weiter, wenn keine Daten da sind und gibt "-1" zurueck)
// man 2 open fuer mehr Infos - see "man 2 open" for more info
// O_NOCTTY No ControllTeleType
fd = open(MODEMDEVICE, O_WRONLY | O_NOCTTY);
if (fd < 0)
{
printf("Fehler beim öffnen von %s\n", MODEMDEVICE);
exit(-1);
}
memset(&newtio, 0, sizeof(newtio));
newtio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD; // Setzt die neuen Porteinstellungen
newtio.c_iflag = IGNPAR;
newtio.c_oflag = 0;
newtio.c_lflag = 0; /* set input mode (non-canonical, no echo, ...) */
newtio.c_cc[VTIME] = 0; /* inter-character timer unused */
newtio.c_cc[VMIN] = 1; /* blocking read until 1 chars received */
tcflush(fd, TCIFLUSH);
tcsetattr(fd, TCSANOW, &newtio);
return fd;
}
Immer derselbe für jedes Programm wo man den UART verwenden will?
Im Moment lasse ich die Baudrate noch bei 115200, weil das die Defaulteinstellung für die Baudrate ist und ich noch kein Teil im Startscript habe um die Baudrate umzustellen.
Morgen wollte ich dann auf meiner Homepage noch eine Anleitung schreiben wie man den UART per Web verwendet und wollte deinen Namen da erwähnen, weil du einen nicht zu vernachlässigen Anteil an der Problemlösung (und dem Verständnis) beigetragen hast, wenn du nichts dagegen hast 
Edit:
Mittlerweile habe ich es auch geschafft meine eigene Sendenroutine zu implementieren.
Bei dem Befehl:
res=write(fd, &c[Counter], 1);
Dort wo jetzt &c[Counter] steht, wird ein Pointer erwartet und deswegen wird dort der Inhalt der Speicherzelle, die für &c[Counter] steht, übergeben?
Sehe ich das so richtig?
Und dann noch eine Frage zu der Variable "fd". Diese steht ja für den Filedescriptor und wird bei der Write Funktion an der Stelle erwartet.
Und diese Variable nimmt den Wert 0 an wenn der UART erfolgreich geöffnet wurde?
Lesezeichen