Hej! För att kunna sända utan att behöva styra Request To Send/Clear To Send (108/107) sätter du handskakningen till None eller XOn/XOff. Om du kopplar RS232 mot ett modem måste den vara "Strappad" på mostvarande sätt. Tack så mycket för tipset! Jag ska genast prova... Hmmm... Jag har lite problem med biten "tuta och kör". Vilket kommando används för själva sändningen/mottagningen? Här kommer ett litet exempel:RS232
Jag håller på med att skriva ett program som ska kommunicera med en Basic Stamp II. Jag använder MsComm-modulen men jag har inte lyckats hitta någon info om hur koden för att kommunicera via denna ser ut. Det enda jag har hittat är för att sätta hög eller låg på vissa pinnar i serieporten men jag vill kunna skicka bokstäver och strängar direkt till porten utan att bry mig om att sätta clear to send och liknande.
Idéer?
/ DavidSv: RS232
1. Definiera port.
2. Sätt hastighet och paritet. (Använd: .Settings = "rate,N,8,1")
3. Definiera handskaknings metod.
4. Öppna porten och tuta och kör.
NOT: Det är lätt att "tappa" tecken när du saknar flödesstyrning.Sv: RS232
Att jag kommer att tappa tecken hoppas jag inte att det kommer att göra något. Datat som ska skickas är temperaturer och spänningsmätningar så det kommer förmodligen att märkas om data blir fel. Jag märker väl... :-)Sv: RS232
/ DavidSv: RS232
<code>
'Öppna port
With frmMain
.MSComm.CommPort = 1
If Not .MSComm.PortOpen Then
.MSComm.Settings = "9600,8,1,n"
'Nedanstående sätts om du vill ha händelser tillbaks från porten
.MSComm.RThreshold = 1
'Välj handskakningsmetod
.MSComm.Handshaking = comRTS
.MSComm.PortOpen = True
End If
End With
'Skicka
Dim strDummy As String
With frmMain
'Rensa porten
strDummy = .MSComm.Input
.MSComm.Output = "Strängen som skall skickas"
End With
'Ligger i formuläret där MSComm finns, enbart om MSComm.RThreshold sattes till 1
Private Sub MSComm_OnComm()
Dim strCommInput As String
If MSComm.CommEvent = comEvReceive Then
strCommInput = MSComm.Input
End If
</code>
Hälsningar Johan