Software_UART
(armin77, 25.01.2013, 10:57:56)
Oft will man mit einem Attiny eine kleine Steuerung bauen.
Doch hat man dann das Problem das keine UART (RS232) Schnittstelle zur
Verfügung steht.
Diese kann man aber in Bascom per Software nachbilden
Hier ein Beispiel mit einem Attiny 45:
$regfile = "attiny45.dat"
$Crystal=1000000
$hwstack=40
$swstack=16
$framesize = 32
Open "ComB.3:2400,8,N,1" For Input As #1 'PinB.3 als RX
Open "ComB.4:2400,8,N,1" For Output As #2 'Port b.4 als TX
Config Portb.2 = Output
Dim Befehl As String * 10
Do
Print #2 , "Das ist ein Test der Software Uart"
Wait 1
Print #2 , "Befehl eingeben"
Input #1 , Befehl
If Befehl = "1" Then Portb.2 = 1 ' LED an
If Befehl = "0" Then Portb.2 = 1 ' LED aus
Befehl = ""
Loop
End
$Crystal=1000000
$hwstack=40
$swstack=16
$framesize = 32
Open "ComB.3:2400,8,N,1" For Input As #1 'PinB.3 als RX
Open "ComB.4:2400,8,N,1" For Output As #2 'Port b.4 als TX
Config Portb.2 = Output
Dim Befehl As String * 10
Do
Print #2 , "Das ist ein Test der Software Uart"
Wait 1
Print #2 , "Befehl eingeben"
Input #1 , Befehl
If Befehl = "1" Then Portb.2 = 1 ' LED an
If Befehl = "0" Then Portb.2 = 1 ' LED aus
Befehl = ""
Loop
End
Wir benutzen einen TTL-RS232, wie der zum Beispiel von Pollin (mit MAX232)
RX wird an Portb.3 und TX an Port B.4 angeschlossen.
An PortB.2 wird eine LED mit Vorwiderstand angeschlossen.
Senden wir per Terminal Programm eine 1 geht die Led an.
Senden wir per Terminal Programm eine 0 geht die Led aus.