Mínusová hodnota a picaxe
Mínusová hodnota a picaxe
Zdravím vespolek pánové
Otázka zní může nějakým způsobem picaxe zpracovat mínus hodnotu.
Pc posílá do picaxe data, ovšem občas je hodnota např -12 nebo mínus -55 apod.
Je možné nějak to mínus zpracovat ?
Zkoušel jsem hledat na netu ale zatím nic.
Předem děkuji za rady
Otázka zní může nějakým způsobem picaxe zpracovat mínus hodnotu.
Pc posílá do picaxe data, ovšem občas je hodnota např -12 nebo mínus -55 apod.
Je možné nějak to mínus zpracovat ?
Zkoušel jsem hledat na netu ale zatím nic.
Předem děkuji za rady
Re: Mínusová hodnota a picaxe
Můj program nyní vypadá takto:
Kód: Vybrat vše
setfreq m16
symbol hodnota = w3
start: ; zacatek programu
serin C.4,N9600_16,("kpk"),#hodnota ; nastaveni portu a nazev hodnoty kpk
if hodnota=0 then goto stav1 ;rovna se hodnota kpk 0 jdi na stav1
if hodnota=1 then goto stav2 ; rovna se hodnota kpk 1 jdi na stav2
goto start: ;
stav1:
low B.0 ;zhasni pin B.0
goto start ; zpet na zacatek programu start
stav2:
high B.0 ;rozsvit pin B.0
goto start
Re: Mínusová hodnota a picaxe
A ted bych např potřeboval aby místo if hodnota=1 byla vlastně hodnota mínusová takže if hodnota=-1
Re: Mínusová hodnota a picaxe
Ahoj,
s Picaxe jsem nikdy nepracoval, ale už dlouho jsem se na něj chtěl mrknout, tak jsem to udělal teď. Moje odpověď je tedy jen teoretická, nemám možnost to prakticky vyzkoušet.
Podle dokumentace k serin znak '#' znamená, že následující přijatou sérii ASCII číslic převede na byte nebo word (podle počtu cifer). Úvodní nečíselné znaky vynechá, pak začne převádět na číslo a první nečíselný znak poté převod ukončí.
Dále Picaxe sám nemá koncept záporného čísla, všechna čísla interpretuje jako celá kladná (0 .. 255, 0 .. 65535 podle typu proměnné).
Z toho mi plynou dvě možnosti, jak se to může chovat při čtení čísla s úvodním znaménkem '-':
Tom
s Picaxe jsem nikdy nepracoval, ale už dlouho jsem se na něj chtěl mrknout, tak jsem to udělal teď. Moje odpověď je tedy jen teoretická, nemám možnost to prakticky vyzkoušet.
Podle dokumentace k serin znak '#' znamená, že následující přijatou sérii ASCII číslic převede na byte nebo word (podle počtu cifer). Úvodní nečíselné znaky vynechá, pak začne převádět na číslo a první nečíselný znak poté převod ukončí.
Dále Picaxe sám nemá koncept záporného čísla, všechna čísla interpretuje jako celá kladná (0 .. 255, 0 .. 65535 podle typu proměnné).
Z toho mi plynou dvě možnosti, jak se to může chovat při čtení čísla s úvodním znaménkem '-':
- Opravdu záporná čísla nezná a neumí je ani převést. Pak by podle mě úvodní znaménko vynechal (protože to pro něj je nečíselný znak) a převedl by až následující číslice. Takže "-1" na vstupu by převedl na kladnou 1.
Zdá se mi to jako nejpravděpodobnější, ale na to by si už asi při svých pokusech přišel. - Podcenil jsem ho, a je ochoten při převodu reagovat i na znaménko '-'. Pak by záporné číslo nejspíš převedl do doplňkového dvojkového kódu. Takže "-1" na vstupu by převedl na 255 (0xff hexa) nebo 65535 (0xffff) pokud by se jednalo o proměnnou typu word.
Tom
Re: Mínusová hodnota a picaxe
1.Variantu už vyzkoušeno mám, tam opravdu nebere mínus v potaz a bere ho jako 1
druhou variantu vyzkoušenou nemám
druhou variantu vyzkoušenou nemám
Re: Mínusová hodnota a picaxe
Tak na to není potřeba dělat tak složitý průzkum.
Stačí si například přečíst základní PPŘÍČŮRKU někam tak do strany 2, v jejíž první polovině je napsáno:
podívej se, jestli je první znak
Ale takovou sekvenci neumím nijak efektivně popsat v jazyce picaxe basic, takže jsem mlčel.
Zajímavé je, jak se například picaxe chová k funkcím jako sin() a cos()
Stačí si například přečíst základní PPŘÍČŮRKU někam tak do strany 2, v jejíž první polovině je napsáno:
Takže otázka jak to dělat se transformuje na sekvence typu:PICAXE – příručka programátora píše:Všechny univerzální proměnné jsou bez znaménka (unsigned) a na začátku programu obsahují hodnotu
nula.
podívej se, jestli je první znak
-
, pokud ano, tak proveď proměnná = 128 - #řetězec
, jinak proveď proměnná = 128 + #řetězec
.Ale takovou sekvenci neumím nijak efektivně popsat v jazyce picaxe basic, takže jsem mlčel.
Zajímavé je, jak se například picaxe chová k funkcím jako sin() a cos()
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Re: Mínusová hodnota a picaxe
Pokud to funguje podle varianty 1., tak ta druhá varianta nebude správná (je to buď první, nebo druhá).
V tom případě by mě ještě zajímalo, jestli to PC posílá kladná čísla se znaménkem '+' nebo bez něj. Případně, jestli ten formát dat z PC mužeš nastavit tak, aby to '+' posílal. Pak by to čtení bylo jednodušší. Ale půjde to i bez něj.
Re: Mínusová hodnota a picaxe
No ten program posílá plusové hodnoty např takto ZK1, ZK5 , ZK6 atd ty minusové bohužel posílá stím mínus ZK-2 , ZK-6 atd
-
- Příspěvky: 385
- Registrován: 02 dub 2014, 15:30
Re: Mínusová hodnota a picaxe
pises bohuzel.ty minusové bohužel posílá stím mínus ZK-2 , ZK-6 atd
jak by to tedy bylo bohudik ?? ( jen jsem zvedavy. pro minusovou hodnotu je pro me minus idealni )
Re: Mínusová hodnota a picaxe
bohouzel nebot se me nedari tu minus polohu zpracovat