Kirjoittaja Aihe: [Ratkaistu] Ongelmia sarjaportin formaatissa Gambaksen kanssa  (Luettu 3323 kertaa)

rikonen

  • Käyttäjä
  • Viestejä: 87
  • Linux for ever
    • Profiili
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?
« Viimeksi muokattu: 06.10.15 - klo:22.59 kirjoittanut rikonen »
Be curious and open minded. Be positive.

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Ongelmia sarjaportin formaatissa Gambaksen kanssa
« Vastaus #1 : 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

rikonen

  • Käyttäjä
  • Viestejä: 87
  • Linux for ever
    • Profiili
Vs: Ongelmia sarjaportin formaatissa Gambaksen kanssa
« Vastaus #2 : 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

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
« Viimeksi muokattu: 06.10.15 - klo:23.01 kirjoittanut rikonen »
Be curious and open minded. Be positive.