Sida 1 av 1

Skicka filer till /dev/ttyS0 med XON/XOFF

Postat: 14 februari 2009, 07:04:32
av bearing
Jag har (hade...) en bootloader på min uC som signalerar med XON/XOFF i syfte att hålla sin buffert inom gränserna. När jag använde XP fungerade det utmärkt att programmera kretsen genom att klistra in innehållet från en hex-fil i hyperterminalen.

Nu har jag börjat använda ubuntu. Har letat efter ett program som går att ställa in för att använda XON/XOFF. Hittade till slut ett som heter gtkterm. Fast, det verkar som att XON/XOFF inte användes trots allt, för att när jag skickade hexfilen svarade min uC inte som den brukar, sedan slutade den svara på kommandon från serieporten. Antagligen har koden som gör ett call till bootloadern blivit korrupt.

Verkar som att gtkterm ställt in "ixoff", fast inte "ixon"

Kod: Markera allt

$ stty -F /dev/ttyS0 
speed 19200 baud; line = 0;
min = 1; time = 5;
ignbrk -brkint -icrnl ixoff -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
Enligt manualen för stty:

Kod: Markera allt

       [-]ixoff
              enable sending of start/stop characters

       [-]ixon
              enable XON/XOFF flow control
XON/XOFF flow control är alltså inte använt.

Innan jag använde gtkterm använde jag minicom, men såg genom stty att "ixon" inte var satt, vilket gjorde att jag sökte vidare efter andra program. När jag använde gtkterm glömde jag dock verifiera med stty innan jag skickade hex-filen.

Känner ni till något program till ubuntu som verkligen sätter/använder/förstår xon/xoff?

Re: Skicka filer till /dev/ttyS0 med XON/XOFF

Postat: 14 februari 2009, 16:35:40
av larsson
Misstänker du att det är terminalprogrammet som stänger av
flödeskontrollen? Kan du inte skippa det helt och istället
skicka din hex-fil från kommandoraden (efter att du tvingat
på XON med stty), t.ex.

cat minfil.hex > /dev/ttyS0

Fungerar det fortfarande inte kanske du kan hitta på ett
litet skript som läser hexfilen rad för rad och pausar en
liten stund mellan varje rad. Då behöver kanske uc:n
aldrig slå till flödeskontrollen?

Re: Skicka filer till /dev/ttyS0 med XON/XOFF

Postat: 14 februari 2009, 18:45:24
av Glenn
minicom kan man ju ställa om det mesta på, testa det ? ..det är det jag brukar köra, fast jag kör ju sällan XonXoff..

Re: Skicka filer till /dev/ttyS0 med XON/XOFF

Postat: 15 februari 2009, 08:32:40
av bearing
Det är minicom jag använt fram till igår. Inställningarna som gjorts i minicom går att kontrollera i med stty.

Nystartad dator:

Kod: Markera allt

bjn@bjn: ~ $ stty -F /dev/ttyS0
speed 9600 baud; line = 0;
-brkint -imaxbel
Efter att ha dragit igång minicom. Min defaultinställning är 19200 8n1 software flow control(vilket är den enda inställning jag funnit som skulle kunna betyda xon/xoff). ixoff är satt.

Kod: Markera allt

bjn@bjn: ~ $ stty -F /dev/ttyS0
speed 19200 baud; line = 0;
min = 1; time = 5;
ignbrk -brkint -icrnl ixoff -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
Efter att ha stängt av software flow control i minicom. ixoff är inte satt.

Kod: Markera allt

bjn@bjn: ~ $ stty -F /dev/ttyS0
speed 19200 baud; line = 0;
min = 1; time = 5;
ignbrk -brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
Det är alltså bara ixoff som ändras, inte ixon.

Nu upptäckte jag en sak. Med stty kan jag ändra ixoff-flaggan, men inte ixon-flaggan. stty returnerar 0 vid båda anropen.

larsson:
Hm, ja, kanske kan jag fixa ett sånt script. Ska fundera på det. Nu har jag dock ingen möjlighet att ta mig in i bootloadern för att kunna testa.