USART ATMega32 and Linux

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
simon78
Inlägg: 1091
Blev medlem: 8 juni 2004, 11:05:51
Ort: Vinninga/Lidköping
Kontakt:

USART ATMega32 and Linux

Inlägg av simon78 »

Är det någon som har lyckats få en Atmega skicka data till en linuxdator via USART? Hur gick ni tillväga? Jag är speciellt intresserad av att veta hur man (helst via terminalen) läser av serieporten tecken för tecken.
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg av karlstedt »

Jag har gjort det. Det var en Red hat dist. Men jag använde mig att ett program som heter slsnif och körde i terminalen.

slsnif

Testa med slsnif, och fråga mer specifikt om du inte får till det.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Kan du utveckla din fråga lite?
Att "läsa av" serieporten i Linux är inga problem. I consolen: cat /dev/ttyS0 för första serieporten.
I ett program är det bara att läsa av /dev/ttyS0 som vilken fil som helst.
Men jag antar att jag inte förstått frågan riktigt?

Mvh
speakman
Användarvisningsbild
simon78
Inlägg: 1091
Blev medlem: 8 juni 2004, 11:05:51
Ort: Vinninga/Lidköping
Kontakt:

Inlägg av simon78 »

Jag fick för mig att cat inte "blockade" utan bara läste av en gång. Jag vill att det ska ticka upp i terminalen allt eftersom data skickas. har inte gjort något serverside program till detta än, men det blir väl något tillslut.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

cat is "the shit"... ;)

Mvh
speakman
Användarvisningsbild
simon78
Inlägg: 1091
Blev medlem: 8 juni 2004, 11:05:51
Ort: Vinninga/Lidköping
Kontakt:

Inlägg av simon78 »

Brukar annars tycka att tail -f is the shit. Hur kommer det sig att inte cat bara läser färdigt i ttys0 och sen slutar som det gör med en vanlig fil?
frejo
Inlägg: 496
Blev medlem: 21 april 2004, 21:43:01
Ort: Linköping

Inlägg av frejo »

jag har använt minicom för att snacka med en avr i linux, fast det går väl med vilket terminalprogram som helst eller cat som nämndes tidigare.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

simon78 skrev:Hur kommer det sig att inte cat bara läser färdigt i ttys0 och sen slutar som det gör med en vanlig fil?
Ett device är inte riktigt som en vanlig fil även om dom anropas som sådana. Ett tty-device har en massa extra konfigureringsparametrar som inte finns för vanliga filer. T.ex hur lång timeout som skall finnas vid läsning. Om inte t.ex "cat" gör någon särskild inställning för just ett tty-device, så blir det defaultinställningen som gäller. Denna kan ju mycket väl vara uppsatt till oändlig timeout (blocking mode).
Användarvisningsbild
simon78
Inlägg: 1091
Blev medlem: 8 juni 2004, 11:05:51
Ort: Vinninga/Lidköping
Kontakt:

Inlägg av simon78 »

Jag får inte ordning på det. Någon som har någon beskrivning eller tutorial, om hur man kopplar?
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Vad får du ingen ordning på? Är det UART:en i AVR:en, eller på Linux-sidan?

Mvh
speakman
Användarvisningsbild
simon78
Inlägg: 1091
Blev medlem: 8 juni 2004, 11:05:51
Ort: Vinninga/Lidköping
Kontakt:

Inlägg av simon78 »

Jag lyckas lyssna på serieporten och har kollat att den tar emot data mha en seriell mus. Det är hur jag ska hooka upp avr:en och max232:an som jag inte är säker på. Datordelen funkar.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Här har du en ritning på hur man kan koppla:
http://chaokhun.kmitl.ac.th/~kswichit/MAX232/MAX232.htm

edit: kul att du fick det att fungera ändå. :)
Senast redigerad av cykze 6 november 2005, 22:39:50, redigerad totalt 1 gång.
Användarvisningsbild
simon78
Inlägg: 1091
Blev medlem: 8 juni 2004, 11:05:51
Ort: Vinninga/Lidköping
Kontakt:

Inlägg av simon78 »

Det funkar! Det Funkar! Det funkar! Det Funkar! Det funkar! Det Funkar! Det funkar! Det Funkar! Det funkar! Det Funkar! Det funkar! Det Funkar! Det funkar! Det Funkar! Det funkar! Det Funkar! Det funkar! Det Funkar! Det funkar! Det Funkar!

Tror det var att jag förväxlat RX/DX
Användarvisningsbild
simon78
Inlägg: 1091
Blev medlem: 8 juni 2004, 11:05:51
Ort: Vinninga/Lidköping
Kontakt:

Inlägg av simon78 »

Jo... men rätt klantigt fel ändå :)

Hur gör man om man vill skicka data till porten då? Jag försökte med

Kod: Markera allt

 echo "test" >> /dev/ttyS0
i ett annat terminalfönster, utan resultat.
Är det "dd" som gäller då?
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Kolla så att handskakningspinnarna på serieporten ligger i rätt läge annars kan det blockera sändningen.

CTS, DSR, DCD skall vara aktiva, d.v.s +12V (eller iallafall minst +3V).

Ofta fungerar det med en enkel nollmodemskoppling om bara sändaren sätter utgående handskak korrekt.

Nollmodem (9-pin DSUB):

7-8 byglas -> RTS styr CTS
1-4-6 byglas -> DTR styr DSR & DCD

RI (pin 9) brukar inte spela ngn roll.
Skriv svar