<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 11.00.9600.17207">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Verdana>Puvodne neapsal, ale to vcelku nevadilo, protoze
C v arduinu int64 i uint64 umi, takze jsem to prepsal tam, byla to cesta
nejmensiho odporu, byt na to "skoro jako IDE" nadavam.</FONT></DIV>
<DIV><FONT size=2 face=Verdana></FONT> </DIV>
<DIV><FONT size=2 face=Verdana>Hratky s vypocty v 64 bitech v Pascalu si zatim
schovam na dlouhe zimni vecery jako cviceni, ted to potrebuju co nejdriv dostat
do vzduchu.</FONT></DIV>
<DIV><FONT size=2 face=Verdana></FONT> </DIV>
<DIV><FONT size=2 face=Verdana>Kazdopadne diky vsem za rady.</FONT></DIV>
<DIV><FONT size=2 face=Verdana></FONT> </DIV>
<DIV><FONT size=2 face=Verdana>Pavel Kutina</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=2 face=Verdana></FONT> </DIV>
<DIV><FONT size=2 face=Verdana></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=aj.hwlist@gmail.com href="mailto:aj.hwlist@gmail.com">Andrej
Jancura</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=hw-list@list.hw.cz
href="mailto:hw-list@list.hw.cz">HW-news</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, July 21, 2014 9:48 AM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: Jak jsem si nabehnul aneb
double v pacalu na AVR</DIV>
<DIV><BR></DIV>
<DIV dir=ltr>
<DIV>
<DIV>
<DIV>Dobry den,<BR><BR></DIV>akurat som sa chcel spytat, ci Vam uz niekto po
tych cca. 25 emailoch rozoberajucich od C vs. Pascal az po free konfiguraciu
zivota niekto poradil ako to v tom C napisat pre tych 64 bitov... Ak
nepohrdnete mojou inspiraciou, tak tu je :)<BR><BR></DIV>Musite si nadefinovat
typ uint64 cez typedef tak, ze to budu dva uint32 bezznamienkove integery,
high a low part. Jednotlive uint32 musite dalej rozpisat ako union, ktory je
raz uint32 a raz ako uchar8 ci uz pole alebo strukturu necham na Vas. Potom si
musite nadefinovat vlastne operacie +,-, nasobenie a delenie. Na to
potrebujete pracovnu premennu uint16, aby ste videl pretecenie cez 255, teda
511, co vam undikuje, ze mate pri dalsej polozke pripocitat 1. No a potom uz
idete len byte po byte... Da sa to urobit aj v C, aj ked vysledny kod asm by
bol asi kratsi.<BR><BR></DIV>A.<BR><BR></DIV>
<DIV class=gmail_extra><BR><BR>
<DIV class=gmail_quote>2014-07-21 9:08 GMT+02:00 Pavel Kutina <SPAN
dir=ltr><<A href="mailto:hw@prelude.cz"
target=_blank>hw@prelude.cz</A>></SPAN>:<BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Tak
to ja bych i rad uz pred puvodnim prispevkem, problem je v tom, ze i v
datasheetu jsou dve promenne int64, coz v okamziku, kdy mi pouzivany jazyk
nabizi pouze praci s int32, nepatrne komplikuje zivot.<BR><BR>Ale je pravda,
ze konverzi int64 na int32 zvladne podle kolegy weka i programatorsky elev
(coz ja tedy evidentne nejsem), tak jsem sel cestou mensiho odporu. Jen se
priznam, ze by mne zajimalo, jak to ten elev udela, asi je na mne prilis
vedro, ale pocitat s jednim cislem jako s parem spodnich a hornich 32 bitu
mi pripada kapku napinave, tim spis, kdyz se s cislem dal pracuje a neni to
jen finalni vysledek.<BR><BR>Pavel Kutina<BR><BR><BR>Dne 21.7.2014 8:21,
Tomáš Hamouz napsal(a):
<DIV class=HOEnZb>
<DIV class=h5><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Problém
je v tom, že ten example psal nějaký trotl.<BR>Napište to přesně podle
datasheetu, tam se používají pouze celočiselné<BR>typy, dokonce tam máte
doporučenou i konkrétní velikost každé<BR>proměnné, aby nepřetekla.<BR>Na
závěr si konverzi na float klidně udělejte.<BR><BR>Tomáš<BR><BR><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Zdravim,<BR></BLOCKQUOTE><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">tak
si musim postezovat:<BR></BLOCKQUOTE><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Zakoupil
jsem sobe ultrapresne tlakove cidlo MEAS MS5611, ze supliku<BR>vyhrabnu
Arduino Pro Mini, osazene ATmegou 328P s tim, budu merit tlak
a<BR>teplotu a na UART si posilat namerena data.<BR></BLOCKQUOTE><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Protoze
s Arduinem nejsem kamarad (ale ta mrnava desticka s 328P se mi<BR>libi),
pripajel jsem na nej ISP konektor, zrusil cely arduinovsky<BR>bootloader
a zacal psat v Mikropascalu pro AVR, hex do toho sypu pres<BR>avrdude,
dale sama pozitiva a socialni jistoty. Jako voditko jsem mel
C<BR>example.<BR></BLOCKQUOTE><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Vcelku
to slo, az do te doby, nez jsem zjistil, ze v examplu je pro
pet<BR>promennych v zaverecnych vypoctech pouzita nehezka
obludnost:<BR></BLOCKQUOTE><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">double
P; // compensated pressure value<BR>double T; // compensated temperature
value<BR>double dT; // difference between actual and measured
temperature<BR>double OFF; // offset at actual temperature<BR>double
SENS; // sensitivity at actual temperature<BR></BLOCKQUOTE><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">A
ja jako na potvoru ve svem oblibenem kompilatoru od MikroE
mam<BR>nejdelsi datovy typ 32 bitu... Protoze jde o presnost, nejak
moc<BR>nepripada v uvahu, ze bych to nekde zkrouhnul a spodni bity
zahodil.<BR>Nenapada vas nekoho, jak podobnou zradu ocurat? Urcite by
slo promennou<BR>rozhodit na 32bit MSB a LSB, jen nevim, jak bych s tim
pak dal pocital.<BR></BLOCKQUOTE><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Kdyby
se nekdo chtel pokochat:<BR>Datasheet MS5611:<BR><A
href="http://www.amsys.info/sheets/amsys.en.ms5611_01ba03.pdf"
target=_blank>http://www.amsys.info/sheets/<U></U>amsys.en.ms5611_01ba03.pdf</A><BR>Example
code:<BR><A href="http://www.amsys.info/sheets/amsys.en.an520_e.pdf"
target=_blank>http://www.amsys.info/sheets/<U></U>amsys.en.an520_e.pdf</A><BR></BLOCKQUOTE><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Asi
nezbyde, nez tam ten arduinovsky loader nacpat zpatky
(Arduino<BR>uint64_t umi) a napsat to v tom Wiringu, ale velkou radost z
toho nemam,<BR>pripadam si dost jako idiot.<BR></BLOCKQUOTE><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Pavel
Kutina<BR>______________________________<U></U>_________________<BR>HW-list
mailing list - sponsored by <A href="http://www.HW.cz"
target=_blank>www.HW.cz</A><BR><A href="mailto:Hw-list@list.hw.cz"
target=_blank>Hw-list@list.hw.cz</A><BR><A
href="http://list.hw.cz/mailman/listinfo/hw-list"
target=_blank>http://list.hw.cz/mailman/<U></U>listinfo/hw-list</A><BR></BLOCKQUOTE><BR>______________________________<U></U>_________________<BR>HW-list
mailing list - sponsored by <A href="http://www.HW.cz"
target=_blank>www.HW.cz</A><BR><A href="mailto:Hw-list@list.hw.cz"
target=_blank>Hw-list@list.hw.cz</A><BR><A
href="http://list.hw.cz/mailman/listinfo/hw-list"
target=_blank>http://list.hw.cz/mailman/<U></U>listinfo/hw-list</A><BR><BR></BLOCKQUOTE>______________________________<U></U>_________________<BR>HW-list
mailing list - sponsored by <A href="http://www.HW.cz"
target=_blank>www.HW.cz</A><BR><A href="mailto:Hw-list@list.hw.cz"
target=_blank>Hw-list@list.hw.cz</A><BR><A
href="http://list.hw.cz/mailman/listinfo/hw-list"
target=_blank>http://list.hw.cz/mailman/<U></U>listinfo/hw-list</A><BR></DIV></DIV></BLOCKQUOTE></DIV><BR></DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>HW-list mailing
list - sponsored by
www.HW.cz<BR>Hw-list@list.hw.cz<BR>http://list.hw.cz/mailman/listinfo/hw-list<BR></BLOCKQUOTE></BODY></HTML>