com poort uitlezen en wegschrijven

Pagina: 1
Acties:

  • helpme
  • Registratie: Oktober 2000
  • Laatst online: 07:56
Na uren zoeken en proberen probeer ik het op deze manier.

Ik ben bezig met het uitlezen en schrijven naar een compoort, aan de compoort hangt een apparaat (gemaakt door iemand anders) met een display.

Ik stel de compoort als volgt in:
Stty 1200 cs8 -parenb -cstopb -F /dev/ttyS0

wanneer in nu "cat /dev/ttyS0" doe, en ik verstuur wat vanaf het apparaat komt dit netjes op het scherm te staan.
wanneer in minicom opstart, werkt dit ook perfect.

1e probleem: wanneer ik "tail -f /dev/ttyS0" doe, verschijnt er niks op het scherm.

2e probleem: schrijven naar de poort lukt niet. ik heb een bestand (output) gemaakt met daarin de tekst "output" en probeer deze te versturen naar de com poort door "cat output > /dev/ttyS0", ook echo "output" > /dev/ttyS0 werkt niet.

versturen werkt echt wel via minicom

  • helpme
  • Registratie: Oktober 2000
  • Laatst online: 07:56
na weer een hele avond te hebben getest ben ik het volgende wijzer.

het lukt nog steeds niet om door bijv. echo "test" > /dev/ttyS0 iets op het display te tonen. Wanneer ik in het ene console minicom aan heb, en in een andere console iets d.m.v. echo naar de com poort stuur, verschijnen er wel allerlei tekens in het scherm bij minicom. Dus er gebeurt wel iets.

Wat wel werkt is screen /dev/ttyS0 1200

Waar ik nu aan zit te denken, maar ik kan het ook mis hebben, is dat er nog een enter of een CR moet worden gegeven op het eind.

maar hoe ik dit doe is mij nog niet duidelijk

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 01-02 22:15

SA007

Moderator Tweaking
Ik denk dat je 's naar je hardware/software flow control moet kijken.
Op de input kijkt je seriele poort gewoon naar wat er voor data binnekomt en klooit wat met de RTS en CTS poortjes om de zorgen dat de zender gaat zenden.
Als linux echter met zijn RTS etc gaat klooien en de ontvanger reageerd niet, zend linux ook niks.
Dus zou die flow control (volgens mij is dat met setserial) op uit zetten.

  • helpme
  • Registratie: Oktober 2000
  • Laatst online: 07:56
Ik ben weer wat verder.

wanneer ik een screen opstart met screen /dev/ttyS0 1200 dan werkt alles perfect.

maar wanneer ik echo 'test' > /dev/ttyS0 doe, dan verschijnt er in de screen, 't?qq)' alleen dan ? in negatief.
Dus op één of andere manier worden de karakters niet goed vertaald.

En het tweede probleem is, dat de echo geen enter erachter aan stuurt, wanneer ik iets via screen naar de com poort stuur, dan verschijnt er een witregel onder de getypte tekst. Wanneer ik iets via echo naar de com poort stuur, dan blijft de cursor achter de tekst knipperen in screen. Wanneer ik vervolgens in screen op enter druk, word de tekst wel verstuurd naar de com-poort.

  • Sir Isaac
  • Registratie: September 2002
  • Laatst online: 21-05-2025
een cr achter een echo is de je met
code:
1
echo -e "test\r"
. Wat doe je met screen? Dat is toch alleen een programma om o.a. meer shells op 1 console te hebben?

  • helpme
  • Registratie: Oktober 2000
  • Laatst online: 07:56
Sir Isaac schreef op woensdag 24 januari 2007 @ 22:29:
een cr achter een echo is de je met
code:
1
echo -e "test\r"
. Wat doe je met screen? Dat is toch alleen een programma om o.a. meer shells op 1 console te hebben?
code:
1
echo -e "test\r"
zal ik vanavond eens proberen

Ik gebruik screen alleen om mee te testen, en omdat het hierin wel werkte, ga ik er vanuit dat de instellingen goed staan.
Pagina: 1