Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Visual basic 2010- com port
Jdi na stránku Předchozí  1, 2, 3, 4  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Software
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
scorpions-cz



Založen: Mar 19, 2011
Příspěvky: 1879
Bydliště: Jižní Čechy Dačicko

PříspěvekZaslal: út květen 25 2021, 7:06    Předmět: Citovat

Ještě mě napadlo, (zatím vše zkouším přes terminál Hercules 3-2-8 ) nemůže tu diakritiku ořezávat ten teminál?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: út květen 25 2021, 7:44    Předmět: Citovat

Terminal by mel prijmout co posilas, dej si zobrazeni v hexu a uvidis. Ale pokud jsou tam jen ty otazniky, tak to dela spis VB. Misto znaku s bajtovou hodnotou nad 127 posila otazniky. Tim prekodovanim pred vysilanim bys to mel odstranit a mel by to posilat v kodove strance napsane v tom prikazu (cestina je 1250). Az ti bude terminal zobrazovat misto diakritiky nejake nesmysly, pak bude treba nastavit v nem jen prislusne kodovani ve kterem to posilas, ale pokud jsou tam jen otazniky, tak to nejspis vubec neodchazi.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
scorpions-cz



Založen: Mar 19, 2011
Příspěvky: 1879
Bydliště: Jižní Čechy Dačicko

PříspěvekZaslal: út květen 25 2021, 20:26    Předmět: Citovat

Tak dík, měl jsi pravdu. chtělo to překodovat ve VB. nějak se mi to nedařilo, ale zašel jsem na 3 na zahrádku a už to běhá Laughing
Teď mě čeká opačný postup, příjem na com port. Tam mi to zatím nedělá vůbec nic Rolling Eyes
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
scorpions-cz



Založen: Mar 19, 2011
Příspěvky: 1879
Bydliště: Jižní Čechy Dačicko

PříspěvekZaslal: st květen 26 2021, 12:23    Předmět: Citovat

Tak díky uživateli termit256 mi odesílání funguje i s diakritikou:
tady je kód:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim DATA As String = "zkušební data"
Dim com As IO.Ports.SerialPort =
My.Computer.Ports.OpenSerialPort("com4")
com.Encoding = System.Text.Encoding.GetEncoding(1250)
com.WriteLine(DATA)
com.Close()
End Sub


ale už druhý den se potím nad příjmem a zatím stále nic Evil or Very Mad
mám tento kód :

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim DATA As String
Dim com As IO.Ports.SerialPort =
My.Computer.Ports.OpenSerialPort("com4")
com.ReadTimeout = 3000
DATA = com.ReadLine()
TextBox1.Text = (DATA)
End Sub

Poradí někdo, kde dělám chybu?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: st květen 26 2021, 14:57    Předmět: Citovat

Ta ukazka kodu co jsem dal na predchozi stranku slouzi k prijmu dat pres com port.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
scorpions-cz



Založen: Mar 19, 2011
Příspěvky: 1879
Bydliště: Jižní Čechy Dačicko

PříspěvekZaslal: st květen 26 2021, 15:42    Předmět: Citovat

K čemu prosím slouží tato instrukce z toho tebou udaného příkladu?
returnStr &= Incoming & vbCrLf

Jinak ani takto mi to nechodí.
Prostě do TextBoxu se nic nevypíše.

Problém bude asi v com.ReadLine , protože, když použiju com.ReadByte tak to nějaký nesmysl aspoň do textboxu vypíše.


Naposledy upravil scorpions-cz dne st květen 26 2021, 16:00, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: st květen 26 2021, 15:59    Předmět: Citovat

Tohle jen pripoji prijaty text (Incoming) k vystupu (returnStr) a odradkuje.
Po hw strance to mas v poradku? (v nejakem terminalu se data prijimaji?)
Ten kod jsem nepsal ja, je to nejaka ukazka cteni z portu od microsoftu, tak by to snad melo fungovat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: st květen 26 2021, 16:08    Předmět: Citovat

Abys mohl číst data pomocí metody ReadLine, tak musí být data ukončena řetězcem, který je nastaven v NewLine. Standardně je to "Line Feed", ASCII hodnota 0x0A.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
scorpions-cz



Založen: Mar 19, 2011
Příspěvky: 1879
Bydliště: Jižní Čechy Dačicko

PříspěvekZaslal: st květen 26 2021, 16:30    Předmět: Citovat

Asi máš pravdu, protože když dám ReadByte a zruším odřádkování, tak se mi to vypíše v DEC tvaru Odešlu AHOJ PANE a textboxu mám 657279743280657869
můžeš mi prosím poradit jak to nastavit, Teprve se s VB učím a moje anglina není nejlepší Já maturoval ještě z ruštiny Evil or Very Mad

tady je kód:

Dim returnStr As String = ""
Dim com1 As IO.Ports.SerialPort = Nothing
Try
com1 = My.Computer.Ports.OpenSerialPort("COM4", 9600)
com1.ReadTimeout = 10000
Do
Dim Incoming As String = com1.ReadByte()
If Incoming Is Nothing Then
Exit Do
Else
returnStr &= Incoming
TextBox1.Text = (returnStr)

End If
Loop
Catch ex As TimeoutException
returnStr = "KONEC."

Finally
If com1 IsNot Nothing Then com1.Close()
End Try


Jako terminál používám Hercules 3.2.8 Mám dva převodníky USB/UART propojený křížem a mám je zasunutý ve dvou USB na PC.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: st květen 26 2021, 16:45    Předmět: Citovat

Kdyz to budes chtit cist po jednom znaku pouzij misto ReadByte ReadChar
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
FHonza



Založen: Nov 20, 2012
Příspěvky: 1453
Bydliště: Praha

PříspěvekZaslal: st květen 26 2021, 17:37    Předmět: Citovat

scorpions-cz napsal(a):

můžeš mi prosím poradit jak to nastavit


Teď nevím co chceš nastavit. Jako znak to čti metodou ReadChar jak píše termit256.
Jestli chceš nastavit ukončovací znak přenosu, tak
kód:

...
com1.ReadTimeout = 10000
com1.NewLIne = "!"
...

Místo toho vykřičníku dej Tvůj ukončovací znak.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
scorpions-cz



Založen: Mar 19, 2011
Příspěvky: 1879
Bydliště: Jižní Čechy Dačicko

PříspěvekZaslal: st květen 26 2021, 18:55    Předmět: Citovat

No já to potřebuju přečíst jako text. Odešlu AHOJ PANE a do text boxu se mi vypíše AHOJ PANE. S tím bojuju Embarassed
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
scorpions-cz



Založen: Mar 19, 2011
Příspěvky: 1879
Bydliště: Jižní Čechy Dačicko

PříspěvekZaslal: st květen 26 2021, 20:41    Předmět: Citovat

Tak s tím com1.NewLIne = "!" to funguje. Pro pokusy dobrý, tam ten ukončovací znak můžu dát, ale jak to udělám např. při komunikaci s GSM modulem, který na různé dotazy odpovídá bez toho konkrétního ukončovacího znaku?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: st květen 26 2021, 21:56    Předmět: Citovat

Nevim co mas za gsm modul, ale co si matne vzpominam, odpovedi v prikazovem rezimu byly ukoncovany CR LF (odentrovanim) coz si nastavis misto toho vykricniku nebo co tam mas ted.
com1.NewLine = vbCrLf


Naposledy upravil termit256 dne st květen 26 2021, 22:22, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
scorpions-cz



Založen: Mar 19, 2011
Příspěvky: 1879
Bydliště: Jižní Čechy Dačicko

PříspěvekZaslal: st květen 26 2021, 22:20    Předmět: Citovat

Dík. Na GSM teprve čekám, neb ten co mi přišel minule byl KO. Dočetl jsem se, že příkazy do modulu musí být ukončeny tím CR LF, ale že tím jsou ukončeny i odpovědi jsem netušil. Až modul přijde budu zkoušet.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Software Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4  Další
Strana 2 z 4

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.14 sekund