C xc8 rozkald double na byty

Miroslav Draxal evik na volny.cz
Pátek Květen 12 17:44:50 CEST 2017


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

 

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


Další informace o konferenci Hw-list