Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: rikonen - 02.09.15 - klo:20.48

Otsikko: [Ratkaistu] Ongelmia sarjaportin formaatissa Gambaksen kanssa
Kirjoitti: rikonen - 02.09.15 - klo:20.48
Osaako joku neuvoa miten saisi Gambaksen käyttämän formaatin vaihdettua siten että se lähettäisi yhden tavun kahden ASCII -tavun sijaan? Kirjoittamalla sarjaporttiin (/dev/ttyUSB0) komennolla Print #hDevice, Hex$(32); saan vastaukseksi (32 30), odotus oli (20). Datan (tavun) arvon pitäisi kattaa alue 0x00 ... 0xFF.

Onko kellään ideaa millä ongelman voisi ratkaista, sisäisesti tai ulkoisesti käyttöjärjestelmätasolla? Esim. iconv -merkistömuunnos voisi jollain tavalla toimia, tärkeintä olisi että saisin luettua ja kirjoitettua vähäisen määrän dataa tavuittain ja käsitellä sitä Gambaksella?
Otsikko: Vs: Ongelmia sarjaportin formaatissa Gambaksen kanssa
Kirjoitti: nm - 14.09.15 - klo:20.17
Kokeile käyttää write-komentoa printin sijaan, eli jotenkin tyyliin:

Koodia: [Valitse]
DIM b AS Byte = 32
WRITE #hDevice, b
Otsikko: Vs: Ongelmia sarjaportin formaatissa Gambaksen kanssa
Kirjoitti: rikonen - 06.10.15 - klo:22.59
Kiitos vinkistä, sain aikaa kokeilla ja sain toimimaan :D
Alla esimerkki kuinka kirjoitetaan ja luetaan 0x00 - 0xFF sarjaporttiin.
Viive tarvitaan koska sarjaportissa tulee luonnostaan viivettä jolloin portin lukua ei luonnollisesti voida heti tehdä. 9600 merkin siirtonopeudella 3 ms oli pienin arvo jolla välitön luku porttiin kirjoittamisen jälkeen toimii.

Gambas on hieno ohjelma johon kannattaa tutustua syvemmin, sen kyvyistä saa jotain käsitystä DomotiGasta https://domotiga.nl/projects/domotiga/wiki/Gambas (https://domotiga.nl/projects/domotiga/wiki/Gambas)

Koodia: [Valitse]
Dim a, b As Integer
For a = 0 To 255
Write #Rport, a As Byte
Sleep 0.01
b = Read #Rport As Byte
Logwindow.Text = Logwindow.Text & b & Chr(13)
Next