Komunikace přes RS 232   zodpovězená otázka

VB.NET, Hardware

Zdravím, vím že už to tady běželo, ale neměl by někdo kód jako příklad? Snažím se ve VB2005 EE dotazovat na tepelné čidlo, připojené na seriový port. Dotaz na čidlo dorazí, ale odpověď zachycenou jako událost mi nejde zpracovat. Dík

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Hezký den,

jde o to v jakém formátu čidlo zprávu vrací.

Pokud chcete ale vědět, jak přijmout data, tak přidáte do události DataReceived funkce na čtení z portu, konktrétně například takto:

    Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
        Debug.Print("Přišla data: " & SerialPort1.ReadExisting())
    End Sub
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zdravim,

pouzivam Visual Basic 6. Doposud jsem aplikace zvladal, ted se naskytla potreba komunikovat pres RS 232 - cist data. Byly by nekde k mani priklady zdrojaku ve VB? Co nadeklarovat, nadefinovat, jak potom cist? Zatim jsem nic nenasel.

Pavel

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Do toolboxu si přidej komponentu MSComm nebo tak se to nějak jmenuje, která pracuje se sériovým portem. Pak by měl jít tenhle kód:

Dim sInput As String
Dim bQuit As Boolean
While Not bQuit   'až bude aplikace končit, nastav bQuit na True
    DoEvents
    sInput = sInput & MSComm1.Input

    'zpracovat data (ale kontroluj, jestli jsou kompletní)
Wend
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Zdravím, používám, resp. bojuji také s komunikací RS232. Potřebuji převést MSComm1.Input do tvaru hex. Jak toto provedu?

Díky moc za odpověď.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den,

mam takovej menši problem na který nemůžu přijít, asi to bude nějaká kravina, ale když pošlu po RS232 data tak mi je to přeloží podle ASCII tabulky takže místo "0" se odešle "30". Našel jsem funkce "CHR a ASC" ale ASC mi "0" překládá jinak vypíše "48"

Děkuji za každou radu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

už jsem na to přišel stači si to z DEC převíst na HEX. :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Bohužel nedaří se. Normálně používám VB2003 standart, kde mi kominukace přes RS232 chodí. Když zkouším stejné zařízení z VB 2005 tak se odezva z poru nezachytí. Musím se na ní zeptat a pak je odpověď v pořádku, ale událost při přijmu dat na serialPort1 nedělá nic. Nevíte čím by to mohlo být, Díky.

Jan

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback