Hallo, ich habe ein Problem mit der seriellen Schnittstelle unter Linux. Bei einem Hardwaredesign hatte ich früher eine komplett beschaltete Schnittstelle und habe darüber mit einem uC kommuniziert und alles hat wunderbar funktioniert. Irgendwelche Hardwarehandshakes habe ich dabei nicht benutzt(dachte ich) Im Linux-Programm habe ich die Schnittstelle wie folgt konfiguriert: term_new.c_cflag = COM_SPEED | CS8 | CLOCAL | CREAD; //CRTSCTS term_new.c_cflag &= ~(CRTSCTS); term_new.c_iflag = IGNPAR | ICRNL; term_new.c_oflag = OPOST | ONLCR; term_new.c_lflag = ~(ICANON | ECHO); In einer neuen Hardwareversion sind nun die unbenutzten Signalleitungen der RS232 weggefallen, was aber zu Problemen führt. Wird RTS wieder verbunden, funktioniert jedoch alles wie vorher und gewünscht. Eigentlich war ich der Meinung das ich mit term_new.c_cflag &= ~(CRTSCTS); die Handshakegeschichte ausstelle, und nur die 3 Leitungen RX,TX und GND benötige. Dem scheint ja nun aber nicht so zu sein da die Leitung für das Linuxprogramm zur Kommunikation zu benötigen scheint. Eigentlich kann es sich dabei aber nur um einen festen Pegel handeln, da das Signal nur bis zum MAX232 geht und nicht weiter zu dem uC verbunden ist. Weiß jemand ob es noch irgendeine andere Einstellung bei Linux gibt, welche mich da verarscht oder ob ich ihm da Softwaremäßig seinen gewünschten Pegel vorgaukeln kann? Danke schonmal
Naja, auf der Pc-Seite ist TxD ein Ausgang und RTS auch. Richte Dein Augenmerk auf den uC. Die Linuxseite sieht völlig in Ordnung aus.
ich nochmal, ich glaube KDevelop hat da bischen rumgesponnen. Jetzt gehts nämlich, nachdem ich das ganze Projekt dann nochmal neu erstellt hatte. Einerseits doof da ich wieder viel Zeit mit suchen verschwendet habe, andererseits aber auch gut, da mein Weltbil doch noch stimmt und CRTSCTS doch noch macht was es soll :D
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.