Sida 1 av 2

Ställa in en emulerad serie-port på rätt sätt? (Löst.)

Postat: 6 november 2017, 21:19:20
av BJ
Jag har en annan tråd:
Hur kommer man igång med Arduino?
http://elektronikforumet.com/forum/view ... =7&t=89180

Jag har kopplat Arduino uno:n till datorn med
usb-sladden, och fått en emulerad serie-port,
com3. Jag använder Windows xp.

För att kunna skicka obegränsat (?) med tecken
från datorn, t.ex. i dos, så måste jag göra
något av följande:

1.
Koppla in Arduinon.
Starta Arduinos serie-monitor och stänga av
den igen för att porten ska bli ledig.

2.
Koppla in Arduinon.
Lyfta på luren i Hyperterminal, och lägga på igen
för att porten ska bli ledig.

Är det någon som vet hur man gör i datorn
för att ställa in den serie-porten rätt?
Alltså så att jag kan skicka från t.ex. dos eller
en bat-fil, utan att starta och stänga av
serie-monitorn eller lyfta på luren och
lägga på igen i Hyperterminal?

Genom enhetshanteraren:

Re: Ställa in en emulerad serie-port på rätt sätt?

Postat: 6 november 2017, 21:40:31
av H.O
Använd mode kommandot kanske?

> mode com1:baud=96

Re: Ställa in en emulerad serie-port på rätt sätt?

Postat: 7 november 2017, 00:22:01
av jah
Har du Arduino-miljön igång så är det väl stor risk att porten hålls öppen av denna, och serie-monitorn bryter detta tillfälligt när den stängs.
Vill du kommunicera via annat program samtidigt som Arduino-IDE är öppet så kan du parallellt köra en simulerad seriell port med hjälp av en extra USB-seriell kabel.

Skicka mycket data från DOS/kommandoprompt kan man göra med t.ex COPY filnamn COM1:
(inkludera ett ctrl-z sist om det är en textfil, eller använd /B i copy-kommandot om det är binärt rådata)

COPY CON COM1: gör att det du skriver skickas radvis(?) allt eftersom, avsluta med ctrl-z.

Inställning av hastighet etc enl tidigare föreslaget MODE-kommando. Standard brukar vara MODE COM1:9600,n,8,1

/J

Re: Ställa in en emulerad serie-port på rätt sätt?

Postat: 7 november 2017, 08:06:07
av SeniorLemuren
Eller så kan du använda en Arduino Mega
The Arduino Mega has three additional serial ports: Serial1 on pins 19 (RX) and 18 (TX), Serial2 on pins 17 (RX) and 16 (TX), Serial3 on pins 15 (RX) and 14 (TX).

Re: Ställa in en emulerad serie-port på rätt sätt?

Postat: 7 november 2017, 08:51:01
av Jan Almqvist
Visar "mode comx:" i DOS (där x är din serieport) någon skillnad mellan innan du utfört något av momenten 1 eller 2 och efter?

Re: Ställa in en emulerad serie-port på rätt sätt?

Postat: 7 november 2017, 09:29:33
av BJ
Ja:

Före:

Kod: Markera allt

C:\Documents and Settings\...>mode com3

Status för COM3:
----------------
    Överföringshastighet: 0
    Paritet:              None
    Databitar:            0
    Stoppbitar:           1
    Timeout:              OFF
    XON/XOFF:             OFF
    CTS-handskakning:     OFF
    DSR-handskakning:     OFF
    DSR-känslighet:       OFF
    DTR-krets:            OFF
    RTS-krets:            ON
Efter Hyperterminal:

Kod: Markera allt

C:\Documents and Settings\...>mode com3

Status för COM3:
----------------
    Överföringshastighet: 9600
    Paritet:              None
    Databitar:            8
    Stoppbitar:           1
    Timeout:              ON
    XON/XOFF:             OFF
    CTS-handskakning:     ON
    DSR-handskakning:     OFF
    DSR-känslighet:       OFF
    DTR-krets:            ON
    RTS-krets:            HANDSHAKE

Re: Ställa in en emulerad serie-port på rätt sätt?

Postat: 7 november 2017, 09:36:33
av Jan Almqvist
OK, jag tolkar detta som att före är inte COM3 initierad alls.

Du borde kunna lösa det med mode commandot typ:

Kod: Markera allt

mode com3:9600,n,8,1
Det kan fattas något i mitt exempel.

Re: Ställa in en emulerad serie-port på rätt sätt?

Postat: 7 november 2017, 09:41:16
av BJ
Det fungerade! :idea:

H.O.:
Jag såg ditt svar, men jag trodde att
enhetshanteraren visade rätt information.
Man kan alltså inte lita på informationen
i enhetshanteraren.

Tack. :tumupp:
Nu kanske jag kommer vidare.

Re: Ställa in en emulerad serie-port på rätt sätt? (Löst.)

Postat: 8 november 2017, 10:47:40
av BJ
En fråga till.

Vad är det som bestämmer att den emulerade
serie-porten blir just com3?

Vad skulle hända om man har flera Arduino
(med eller utan samma drivrutin)?
Eller har Arduinon inkopplad tillsammans
med en "vanlig" usb-serieport?

Re: Ställa in en emulerad serie-port på rätt sätt? (Löst.)

Postat: 8 november 2017, 11:34:37
av Icecap
Om man går in i Enhetshanteraren → Portar (COM och LPT) kan man högerklicka på den valda porten och välja Egenskaper.

Under fliken "Port Settings" → Avanced... kan man välja portnummer osv.

Men normalt ges de ett nummer när de ansluts och är det en knasig drivrutin kan de få nytt nummer för varje USB-port man sätter dom i och även för varje gång man ansluter.

Re: Ställa in en emulerad serie-port på rätt sätt? (Löst.)

Postat: 8 november 2017, 11:43:40
av Jan Almqvist
Min erfarenhet är att portnumret är slumpartat. Jag använder en BM-77-PICTAIL ( http://www.microchip.com/Developmenttoo ... 77-PICTAIL ) och den får vanligtvis inte samma portnummer från gång till gång.

Re: Ställa in en emulerad serie-port på rätt sätt? (Löst.)

Postat: 8 november 2017, 12:27:33
av Mr Andersson
Det är upp till drivrutinen att välja portnummer. Arduinon (windows standard CDC-driver) får samma nummer varje gång jag ansluter den men en PL2303 USB-TTL jag har (kina-klon med modifierade drivrutiner) får nytt nummer varje gång.

Re: Ställa in en emulerad serie-port på rätt sätt? (Löst.)

Postat: 8 november 2017, 20:21:03
av BJ
Okej.

Re: Ställa in en emulerad serie-port på rätt sätt? (Löst.)

Postat: 13 november 2017, 15:21:55
av Baroon
De inställningar som du ser i enhetshanteraren används i normalfallet inte.
När ett program öppnar en serieport så anger man även inställningar (baud rate, stopbitar, parity osv) för porten.
Därför bör man inte kolla på inställningarna i enhetshanteraren.

När man stoppar in en usb-device som registrerar sig som en serieport kommer windows att sätta ett nummer på serieporten. Om det blir samma som tidigare eller inte beror på drivrutinen i enheten. Det finns ett maxvärde som serieporten kan ta och har man en tveksam drivrutin som registrerar om ett nytt nummer varje gång kan dom ta slut. Det i sin tur kan (tyvärr) ge roliga fenomen. :)

Re: Ställa in en emulerad serie-port på rätt sätt? (Löst.)

Postat: 13 november 2017, 15:39:20
av BJ
Okej. Så gör inte Ardino uno:n.
Den blir com3 varje gång.
(Så som jag vill ha det.)