------------------------------------------------------------------------------------------------------------------ Port se musi povolit !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! provedeme pomoci terminalu (prikazoveho radku) takto: sudo -i v terminalu se prepneme na superuzivatele chmod 777 /dev/ttyUSB0 menime opravneni pristupu k portu USB-RS-232 konvertoru, plati to do vytazeni ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ toto jsem vyzkousel, funguje: ' Gambas class file Private text As String Private text1 As String Private RxLen As Integer Private Rx As String Public Sub Form_Open() text = TextBox1.text ' SP1.Close() SP1 = New SerialPort As "SP1" SP1.PortName = "/dev/ttyUSB0" SP1.Speed = "57600" SP1.Open() End Public Sub SP1_Read() Read #SP1, Rx, Lof(SP1) ' If Error Then ' Goto NoRx ' Endif RxLen = InStr(Rx, Chr(13)) ' TextBox1.Text = RxLen TextBox2.Text = Rx ' ListBox1.Add(Rx) NoRx: ' Rx = "" End Public Sub Button1_Click() ' text = TextBox1.text SP1_Read() SP1.Begin() Write #SP1, text, 20 SP1.Send() ' Sport_Read() End Public Sub Button2_Click() ' SP1 = Open() ' Sleep (0.5) ' Read #Sport, Rx, Lof(Sport) SP1_Read() ' ReadLine #SP1, text1 ' Line Input #d_soub, Text 'toto funguje u streamu ze souboru ' text1 = Read #SP1, Lof(SP1) ' Read #SP1, Rx, Lof(Sport) TextBox2.text = Rx End Public Sub TextBox1_KeyPress() text = TextBox1.text End Public Sub Form_Close() SP1.Close() End ----------------------------------------------------------------------------------------------------------------------------- další fungující (vyčištěný předchozí) příklad: ' Gambas class file Private text As String Private Rx As String Public Sub Form_Open() text = TextBox1.text ' Přiřadí se hodnota do text z pole při otevření Form ' SP1.Speed = "9600" Try SP1.Open() If Error Then Message("Port nejde otevřít !!") Endif End Public Sub SP1_Read() Try Rx = Read #SP1, Lof(SP1) ' Lze pouzit take syntaxi Read #SP1, Rx, Lof(SP1) If Error Then Message("Nelze číst stream z portu !") Rx = "" Endif TextBox2.Text = Rx End Public Sub Button1_Click() text = TextBox1.text SP1_Read() Sleep (0.5) SP1.Begin() Write #SP1, text Try SP1.Send() If Error Then Message("Stream je uzavřen !!") Endif ' Na prvnim radku se pusti stream ke cteni ' Na druhem je mala prodleva ' Na tretim radku se otevre stream zapisu ' Prikaz Write pusti 20 znaku do streamu ' Prikaz SP1.Send odešle stream do portu a vynuluje ho End Public Sub Button2_Click() SP1_Read() TextBox2.text = Rx End Public Sub TextBox1_KeyPress() text = TextBox1.text End Public Sub Form_Close() SP1.Close() ' Zavře port před zavřením Form End ------------------------------------------------------------------------------------------------------------------ posilani po bytech: ' Gambas class file Private text As String Private Rx As String Public Sub Form_Open() text = TextBox1.text ' Přiřadí se hodnota do text z pole při otevření Form ' SP1.Speed = "2400" Try SP1.Open() If Error Then Message("Port nejde otevřít !!") Endif End Public Sub SP1_Read() Try Rx = Read #SP1, Lof(SP1) ' Lze pouzit take syntaxi Read #SP1, Rx, Lof(SP1) If Error Then Message("Nelze číst stream z portu !") Rx = "" Endif TextBox2.Text = Rx End Public Sub Button1_Click() text = TextBox1.text SP1_Read() Sleep (0.5) SP1.Begin() ' Write #SP1, text ' predchozi radek se pouzije pro zapis promenne string Write #SP1, 254 As Byte Write #SP1, 254 As Byte Write #SP1, 118 As Byte Write #SP1, 224 As Byte Write #SP1, 255 As Byte Try SP1.Send() If Error Then Message("Stream je uzavřen !!") Endif ' Na prvnim radku se pusti stream ke cteni ' Na druhem je mala prodleva ' Na tretim radku se otevre stream zapisu ' Prikaz Write pusti 20 znaku do streamu ' Prikaz SP1.Send odešle stream do portu a vynuluje ho End Public Sub Button2_Click() SP1_Read() TextBox2.text = Rx End Public Sub TextBox1_KeyPress() text = TextBox1.text End Public Sub Form_Close() SP1.Close() ' Zavře port před zavřením Form End ---------------------------------------------------------------------------------------------------------- program na zapinani/vypinani PICAXE: ' Gambas class file Private text As String Public Sub Form_Open() text = 0 ' Přiřadí se hodnota do text ' SP1.Speed = "2400" Try SP1.Open() If Error Then Message("Port nejde otevřít !!") Endif End Public Sub SP1_Write_byte() Write #SP1, 254 As Byte Write #SP1, 254 As Byte Write #SP1, 118 As Byte Write #SP1, 224 As Byte ' zapise prvni 4 byty protokolu po bytech 254,254,118,224 Write #SP1, text As Byte End Public Sub Button1_Click() text = 255 SP1.Begin() ' Write #SP1, text ' predchozi radek se pouzije pro zapis promenne string SP1_Write_byte() ' pusti bajt z text pole do protokolu Try SP1.Send() If Error Then Message("Stream je uzavřen !!") Endif ' Na prvnim radku se pusti stream ke cteni ' Na druhem je mala prodleva ' Na tretim radku se otevre stream zapisu ' Prikaz Write pusti 20 znaku do streamu ' Prikaz SP1.Send odešle stream do portu a vynuluje ho End Public Sub Button2_Click() text = 0 SP1.Begin() SP1_Write_byte SP1.Send() End Public Sub Form_Close() SP1.Close() ' Zavře port před zavřením Form End