Jak jsem si nabehnul aneb double v pacalu na AVR

Tomáš Hamouz hamouz na divesoft.cz
Pondělí Červenec 21 08:21:25 CEST 2014


Problém je v tom, že ten example psal nějaký trotl.
Napište to přesně podle datasheetu, tam se používají pouze celočiselné
typy, dokonce tam máte doporučenou i konkrétní velikost každé
proměnné, aby nepřetekla.
Na závěr si konverzi na float klidně udělejte.

Tomáš


> Zdravim,

> tak si musim postezovat:

> Zakoupil jsem sobe ultrapresne tlakove cidlo MEAS MS5611, ze supliku 
> vyhrabnu Arduino Pro Mini, osazene ATmegou 328P s tim, budu merit tlak a
> teplotu a na UART si posilat namerena data.

> Protoze s Arduinem nejsem kamarad (ale ta mrnava desticka s 328P se mi
> libi), pripajel jsem na nej ISP konektor, zrusil cely arduinovsky 
> bootloader a zacal psat v Mikropascalu pro AVR, hex do toho sypu pres 
> avrdude, dale sama pozitiva a socialni jistoty. Jako voditko jsem mel C
> example.

> Vcelku to slo, az do te doby, nez jsem zjistil, ze v examplu je pro pet
> promennych v zaverecnych vypoctech pouzita nehezka obludnost:

> double P; // compensated pressure value
> double T; // compensated temperature value
> double dT; // difference between actual and measured temperature
> double OFF; // offset at actual temperature
> double SENS; // sensitivity at actual temperature

> A ja jako na potvoru ve svem oblibenem kompilatoru od MikroE mam 
> nejdelsi datovy typ 32 bitu... Protoze jde o presnost, nejak moc 
> nepripada v uvahu, ze bych to nekde zkrouhnul a spodni bity zahodil. 
> Nenapada vas nekoho, jak podobnou zradu ocurat? Urcite by slo promennou
> rozhodit na 32bit MSB a LSB, jen nevim, jak bych s tim pak dal pocital.

> Kdyby se nekdo chtel pokochat:
> Datasheet MS5611:
> http://www.amsys.info/sheets/amsys.en.ms5611_01ba03.pdf
> Example code:
> http://www.amsys.info/sheets/amsys.en.an520_e.pdf

> Asi nezbyde, nez tam ten arduinovsky loader nacpat zpatky (Arduino 
> uint64_t umi) a napsat to v tom Wiringu, ale velkou radost z toho nemam,
> pripadam si dost jako idiot.

> Pavel Kutina
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list