Jak poslat data přes RS232 do PIC?

Ještě jsem zvýšil time-outy na 1 vteřinu (z 500ms) jesli to náhodou nepomůže. Teoreticky by to vliv mít nemělo, jednak by se těch pár bytů mělo stihnout i odeslat, ale myslím že ten timeout je na zápis do bufferu kterej je několik kB.

Máš určitě chybu v programu, protože když napíšu nejaké číslo do #, třeba 120, program pošle 120, ale když dám 130, pošle 063. A to vrací i u 0xFF.

Ten program neumí písmena s diatrikou?? Proto jsem na to přišel. Ukaziovat je ukazuje jako v Sent: “šýýščřščřřžýýá”, ale posílá 63.

Dělal jsem tabulku znaků dle této tabulky.

problem je ze chces pouzit rozsirenu ascii sadu…
Pozri tu standartna sada je len do 127

people.ksp.sk/~kuko/pascal/index … =types.txt

Znaky mám 32 - 127, ale používám znaky s diatrikou + 0x00 - 0x 19 + 0xFF. A myslel jsem, že když napíšu 0xFF tak to prostě pošle 255 a ne 063.

Počkáme na piityyho, jestli něco nevymyslí :astonished:

Tak další pokus :slight_smile: (opět aktualizován zip na str.1)
Původní komunikace byla znaková, takže jsem toto nemusel řešit. Nyní je to přepsáno na datovou, tak to třeba vyjde :wink:.

Paráda, teď to jede jak má, až na diatriku, ale to už takový problém není. Místo ščřžýáíé atd dám HEX kod znaku a je to.

Viditelně to používá jinou tabulku znaků než používám já. Nekteré znaky s diatrikou to ukaže dobře, ale některé nee.

A jinak velké [size=200]THX[/size]

Problém je, že C# pracuje v unicode (myslim že UTF-16 little-endian) a některý český znaky jsou mimo 1B (ě: 283, š: 353, č: 269, ř: 345, ž: 382) tudíž to při přetypování na byte vytvoří nesmysl. Jsou tam i konverzní metody, ale né do český rozšířený ascii(tu jsem v C# vůbec nenašel). Těch pár českých znaků tam dodělám, ale celou ji přepisovat nebudu :wink:
Ještě bych ti to mohl posílat všechno v unicode :smiley:.

EDIT: tak je to tam. Můžeš zkoušet.

Pro ostatní - pár slov jsme s honzou prohodili mimo vlákno :wink:.
Honza: Nevim čím to je, mě to ukazuje co má. Když data odešlu, stejně se mi vrátí :frowning:

Sedím na tom asi 4 hodiny a pořád stejnej výsledek :frowning:

A jinak, jak jsem začal používat tvůj program, začala se mi objevovat chyba, ale asi to není tím programem :slight_smile:
error.jpg

Tak už nevim :frowning:. Ještě jsem to trochu povrtal, ale nevim co se tomu nelíbí… Kdyžtak se pak ještě podívej do podrobností té chyby.

Jaké verze .NET framework (ů) každý z vás má?

Kde to zjistím??

Je to součást WIN7 :open_mouth:

EDIT: Už jsem to našel, píše to 4

Ale dostal jsem nápad. Zítra přeinstaluji WIN7, mám už to zasr…ý nesmyslama. Třeba to pomůže :smiley:

.NETy jsou mimo verzi 1 a 1.1 zpětně kompatibilní. Program je psanej pro 2.0 a vyšší.

“Tahle věta je mi nějak povědomá, tu už jsem určitě někde slyšel…”

Na tohle téma má Microsoft celý jedno fórum (je to sice na RC, ale osobně nevěřím tomu, že finální verze je dokonalá), kompatibilita (starších verzí) se řeší i jinde. Osobně bych přílišnému optimismu nepodléhal a snažil se aspoň zkusmo docílit toho, abych měl stejnou verzi (ta zkouška, kromě času ovšem, nic nestojí). A to jsme ani neřešili, jestli máte “stejněbitové” Windows (x86 či x86-64) atp.

Nová instalace woken, výsledek stejnej, co se týče znaků s diatrikou, ale už se aspoň neobjevuje ta chyba, aspoň teda zatím.

Už netuším, čím by to mohlo být :frowning:. Ještě jsem to spojil přes BT s PDA. Když pošlu “ě” přijde do pda “0xEC” což dle tvé tabulky odpovídá. Holt se asi budeš muset obejít bez diakritiky a posílat ji číselně :wink:
Mimochodem - asi nemáš poslední build - ještě nebyl stažnej :slight_smile:.
terminal hex_debug3.gif

Zajímavé, “ě” mi pošle 0x1B, “č” mi pošle jako 0x0D.

Když pošlu #236, tak mi to ukáže správně ě.

Něco je špatně a teď jen přijít na to, co je v …:slight_smile: Ale zkoušel jsem posílat data přes PICKIT2 a ten posílá normálně. Hercules to posílá taky správně, tak je chyba asi ve tvem programu :frowning:

Tak chyba byla mezi klavesnicí a židlí, sice jsem stáhl novej program, ale pouštěl jsem pořád ten starej :blush: :blush:

Ještě těd nejde ale “ď” a “ň”, ale to se tak často nepoužívá.

Zatím teda** DÍK**

Teď jsem to zkoušel do pda posílat ještě terminálem a herculesem a všechno mi tam posílá stejný data. To mi není jasný, proč to u tebe posílá něco jinýho než u mě :frowning: Holt asi budeš bez diakritiky :slight_smile: Ještě by měl jít ten managed program přeložit jako unmanaged (přímo pod win bez .net), jen zatim nevim jak…

Fakt to frčí? jesli jo tak paráda, ď a ň tam ještě nejsou, ty dodělám.
Mimochodem když jsem teď louskal nastavení projektu, všiml jsem si, že byl pro .net 3.5 a ne pro 2.0…

EDIT: tak jsem dodělal ď, ť a ň i s velkýma verzema, přeložený je to pro .net 2.0
Kdyby ještě nějaký písmena chyběy tak dej vědět :wink:

Můžu mít ještě jeden malej požadavek ?