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:
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!
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.
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.)