Stránka 1 z 1

Možnost přijetí na Seriovem portu jen byte 0-127

Napsal: 12 led 2014, 12:42
od michalino
Dobrý den všem a hezký nový rok,

prosím Vás o radu.

Odešlu na seriový port ATMELU znak BYTE například příkazem
serialport.Write(Chr(127))
Chr tedy může bez problémů nabývat hodnot 0 až 127
Vše je v pořádku, získám takovou hodnotu 0- 127 na Atmelu

ale

když odešlu chr v rozmezí 128 až 256
nedostanu v Atmelu nic....

přitom jsem si dříve s tímto hrál a dostal jsem hodnotu určitě v rozmezí celého byte 0-256 v pořádku....

čím by to prosím mohlo být?
děkuji

Napsal: 12 led 2014, 13:02
od hakamusai
Tak tohle je dotaz pro člověka s věšteckou koulí.Připomíná mi to dotaz typu -nejede mi auto ,proč ? :D

Napsal: 12 led 2014, 13:12
od michalino
Tomu rozumím Hakamusai, proč tak píšeš, já myslel, že bude problém někde v obecném, známém problému, protože když vše funguje pro 0-127 tak mě nenapadá při správných deklaracích, které jsem kontroloval X krát, kde jindy by to mohlo být...

je rozdíl v příjetí byt 0-127

a 128-256?

když deklarace proměnné, kde se ukládá přijatý byte, je BYTE?

neexistuje tedy nic obecně známého, nějaká častá chyba? Pokud ne, budu bádat dál nad svou chybou.
děkuji

Napsal: 12 led 2014, 13:34
od hakamusai
Věřím,že Ty víš o co konkrétně jde,ale ostatní neví -např. v jakém jazyce(vypadalo by to i na Pascal),co za překladač atd. Může být problém i v datovém typu.

Napsal: 12 led 2014, 15:35
od michalino
Tak zkouším na úplně nejjednodušším základu, úplný základ a začátek:

Přijímací rutina v bascomu je:

Dim prijatyznak as byte

While Ischarwaiting() > 0
Prijatyznak = Inkey()
Waitms 100
locate 1,1
lcd prijatyznak
waitms 1000
cls
Wend

Odesílám zaručeně správně byte, protože 0-127 mi to zobrazí a vše nahoru do 256 mi to nezobrazí nic, tedy jen BYTE=63, což je otazník.

Prosím o pomoc,
děkuji

Napsal: 12 led 2014, 20:24
od monterjirka
A nemáš nějak omezen příjem, jen na 7 bitů (což by odpovídalo hodnotám 0 - 127) a při příchodu 8 bitového čísla s 1 (H) na nejvyšším místě to bere jako signalizovanou chybu přenosu a celé to "zahodí"

Napsal: 12 led 2014, 22:23
od AB1
Jak říká monterjirka, podívej se v Bascomu na nastavení Menu-Options-Communication jestli tam máš správně Databits=8.

A zkontroluj to i na vysílací straně.