C xc8 rozkald double na byty

Milan Kratochvíl krata.milan na seznam.cz
Úterý Květen 16 18:34:38 CEST 2017


Zdravim,
ve visual studiu toto funguje pomoci union jak tu psal p. Mraz.

Milan

Dne 16.5.2017 v 08:00 Zuffa Jan napsal(a):
> Re: C xc8 rozkald double na byty
>
> divne, skusil som vo visual studiu a tam to bez explicitneho pretypovania
>
> na int skoci na chybe illegal, left operand has type 'double
>
> j.
>
> *From:*Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of 
> *Miroslav Draxal
> *Sent:* Monday, May 15, 2017 9:26 PM
> *To:* 'HW-news'
> *Subject:* RE: C xc8 rozkald double na byty
>
> Mohu potvrdit, že XC8 ver 1.38
>
> #define CelkovyVykon_kWh_rokDb_EEPROM 596.250
>
> __EEPROM_DATA(0, // byt0 CelkovyVykon_kWh_denDb
>
>               0, // byt1
>
>               0, // byt3
>
>               0, // byt4 CelkovyVykon_kWh_denDb -  4bytová přesnost
>
>               CelkovyVykon_kWh_rokDb_EEPROM & 0xff, // byt0 
> CelkovyVykon_kWh_rokDb
>
>               (CelkovyVykon_kWh_rokDb_EEPROM >> 8) &0xff, // byt2
>
>               (CelkovyVykon_kWh_rokDb_EEPROM >> 16) &0xff, // byt3
>
>               (CelkovyVykon_kWh_rokDb_EEPROM >> 24) &0xff); // byt4 
> CelkovyVykon_kWh_rokDb 4bytová přesnost
>
> To uloží správně do eeprom jako 596.25
>
> Nic se násobit nemusí.
>
> Míra
>
> *From:*Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of 
> *Zuffa Jan
> *Sent:* Monday, May 15, 2017 11:08 AM
> *To:* HW-news
> *Subject:* RE: C xc8 rozkald double na byty
>
> Zdravim,
>
> nezabudnite pred ulozenim vynasobit 10 lebo inak pridete
>
> o cast za desatinnou ciarkou :) neskusal som ale typujem ze kompilator
>
> to interne pretypuje na int.
>
> j.
>
> *From:*Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of 
> *Miroslav Draxal
> *Sent:* Friday, May 12, 2017 5:45 PM
> *To:* 'HW-news'
> *Subject:* RE: C xc8 rozkald double na byty
>
> Teď jsem se dostal k PC, tohle funguje . Díky za nakopnutí panu Zuffovi.
>
> Velice pomohlo.
>
> Je to v podstatě jednoduchý, nějak mě tohle nenapadlo.
>
> Míra
>
> *From:*Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of 
> *Zuffa Jan
> *Sent:* Friday, May 12, 2017 1:05 PM
> *To:* HW-news
> *Subject:* RE: C xc8 rozkald double na byty
>
> Zdravim,
>
> skuste takto:
>
> #define _NR  560.0
>
> double x = _NR;
>
> #define byt1       _NR & 0xff
> #define byt2     (_NR >> 8) &0xff
>
> #define byt3    (_NR >> 16) &0xff
>
> ...
>
> j
>
> *From:*Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of 
> *Miroslav Draxal
> *Sent:* Friday, May 12, 2017 12:18 PM
> *To:* 'HW-news'
> *Subject:* RE: C xc8 rozkald double na byty
>
> Dá se nastavit přesnost  3 (dokonce) nebo 4 byty v XC8 linker/Memory 
> model
>
> Potřebuju to dostat do define, protože to pak ukládám do eeprom v době 
> vývoje.
>
> #define byt1       0x44
> #define byt2       0x0C
> #define byt3       0x00
> #define byt4       0x00 // což je prezentace 0x440C0000 což je 560.0
>
> __EEPROM_DATA(byt1, byt2, byt3, byt4, 0, 0,0, 0);
>
> *From:*Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of 
> *Tomáš Hamouz
> *Sent:* Friday, May 12, 2017 12:09 PM
> *To:* HW-news
> *Subject:* Re: C xc8 rozkald double na byty
>
> Možná se znemožním, ale opravdu má double v xc8 jen 4 byty?
>
> Šlo by to udělat tak že si konstantu definujete opravdu jako 
> konstantní proměnnou.
>
> const double x = 560.0;
>
> uint8_t byte0 = ((uint8_t*)&x)[0];
> uint8_t byte1 = ((uint8_t*)&x)[1];
>
> a tak dál
>
> Tomáš
>
>
> 	
>
> Dobrý den,
> Jde nějak v C ve zdrojáku rozložit číslo ve tvaru double na 4 byty?
>
> Potřeboval bych tvar
>
> Double x = 560.0;
>
> Rozložit do tvaru
>
> #define byt1       0x44
> #define byt2       0x0C
> #define byt3       0x00
> #define byt4       0x00 // což je prezentace 0x440C0000 což je 560.0
>
> 560.0 je konstanta, která se mění při každém programování zařízení a 
> pokaždé to musím přepočítávat do byt1 ~ byt 4. Nějakou automatizaci 
> bych potřeboval, protože těch konstant je vícero.
> Díky za nápady. Míra
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20170516/abe24be3/attachment.html>


Další informace o konferenci Hw-list