[python] chyba v kodu
RMiklos na pss.sk
RMiklos na pss.sk
Čtvrtek Květen 3 18:02:52 CEST 2007
Toto vyzera byt spojite linearne
from math import *
def f(inp):
d=int(ceil(((inp + 5) / 10) * 65535))
h=hex(int(ceil(((inp + 5) / 10) * 65535)))
return d, h
x=-5.0
while x < 5.0 :
(d, h) = f(x)
print "%+3.1f %5d %10s" % (x, d, h)
x += 0.1
RMiklos na pss.sk
Sent by: python-bounces na py.cz
03.05.2007 17:49
Please respond to
Konference PyCZ <python na py.cz>
To
Konference PyCZ <python na py.cz>
cc
Subject
Re: [python] chyba v kodu
Mozno ze vysledok je iny ako ocakavas preto, lebo Python deli cele cisla
celociselne
from math import *
def f(inp):
print ((inp + 5) / 10)
print (((inp + 5) / 10) * 65535)
print int(ceil(((inp + 5) / 10) * 65535))
return hex(int(ceil(((inp + 5) / 10) * 65535)))
potom
print f(-3)
dava toto
0
0
0x0
ale
print f(-3.0)
dava toto:
0.2
13107.0
13107
0x3333
Radek Machulka <radek.machulka na gmail.com>
Sent by: python-bounces na py.cz
03.05.2007 17:22
Please respond to
Konference PyCZ <python na py.cz>
To
python na py.cz
cc
Subject
[python] chyba v kodu
Zdravim,
mam D/A prevodnik pracujici v rozsahu +-5V. Rizeni probiha prostrednictvim
serioveho portu. Vlastni nastaveni napeti se provadi odeslanim
hexadecimalniho cisla na prevodnik tak, ze:
0x0000 --> -5 V
0x8000 --> 0 V
0xFFFF --> 5 V,
mezi tim je zavislost linearni.
Vymyslel jsem kod:
'hex(int(ceil(((inp + 5) / 10) * 65535)))'.
Pracuje jak ma, jen v intervalu cca (-5 ; -4.735) mi to vraci nesmysly.
Nemam zdani cim by to mohlo byt, implementace stejnehoi kodu v jinych
jazycich
funguje spravne.
Predem dik za odpovedi
Radek
P.S.: 'inp' je vstupni promena funkce provadejici prepocet (pozadovane
napeti)
a je typu float.
--
Linux khoi 2.6.20-15-386 #2 Sun Apr 15 07:34:00 UTC 2007 i686 GNU/Linux
_______________________________________________
Python mailing list
Python na py.cz
http://www.py.cz/mailman/listinfo/python
Mgr. Ing. Roman MIKLÓ©
Prvá stavebná sporiteµňa a.s.
Bajkalská 30, P. O. Box 48
829 48 Bratislava 25
Tel.: +421/ 2 / 582 31 174
Fax: +421/ 2 / 582 31 109
_______________________________________________
Python mailing list
Python na py.cz
http://www.py.cz/mailman/listinfo/python
Mgr. Ing. Roman MIKLÓ©
Prvá stavebná sporiteµňa a.s.
Bajkalská 30, P. O. Box 48
829 48 Bratislava 25
Tel.: +421/ 2 / 582 31 174
Fax: +421/ 2 / 582 31 109
Daląí informace o konferenci Python