-
1. Data: 2016-03-06 18:10:11
Temat: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: "Bo(o)t manager" <b...@W...wp.pl>
Cześć!
Mam mały problem, otóż bawię się z termometrem DS18b20 i udało mi
się dopisać do biblioteki odczytywanie numerów seryjnych(z pomocą
tablicy). Chciałbym zrobić to za pomocą zmiennej 64bitowej(łatwiej mi
będzie porównywać numery seryjne(w każdym razie tak mi się wydaje)) i tu
mam problem - konwersja ultoa() obsługuje max. 32 bitowe liczby, a ja
potrzebuję przekonwertować 64bity(dla wyświetlacza). Niestety ulltoa()
brak. Kompilator to avrgcc.
Ma ktoś z Was pomysł jak to ugryźć? Bo mnie na razie do głowy
wpadł pomysł na podzielenie w/w zmiennej na 2 zmienne 32bitowe i potem na
babranie się z wyświetlaniem tego, ale może da się łatwiej?
--
Pozdrawiam
Bo(o)t manager
-
2. Data: 2016-03-06 18:21:32
Temat: Re: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: platformowe głupki <N...@g...pl>
przepraszam za śmiałość, ale gdzie tu jest pytanie?
-
3. Data: 2016-03-06 18:45:47
Temat: Re: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: Arkadiusz Kaczmarek <kaczor@to_wytnij.hot.pl>
W dniu 2016-03-06 o 18:21, platformowe głupki pisze:
> przepraszam za śmiałość, ale gdzie tu jest pytanie?
To takie zdanie, gzie na końcu jest " ? " :)
Widziałem tam takie :P
-
4. Data: 2016-03-06 18:46:54
Temat: Re: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: Sebastian Biały <h...@p...onet.pl>
On 2016-03-06 18:10, Bo(o)t manager wrote:
> Cześć!
> Mam mały problem, otóż bawię się z termometrem DS18b20 i udało mi
> się dopisać do biblioteki odczytywanie numerów seryjnych(z pomocą
> tablicy). Chciałbym zrobić to za pomocą zmiennej 64bitowej(łatwiej mi
> będzie porównywać numery seryjne(w każdym razie tak mi się wydaje)) i tu
> mam problem - konwersja ultoa()
Po pierwsze dlaczego ultoa ma pomagać a komparacji numerów seryjnych?
Po drugie numery seryjne 1Wire sa naturalnie prezentowane w hex.
-
5. Data: 2016-03-06 19:50:46
Temat: Re: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: "Bo(o)t manager" <b...@W...wp.pl>
On Sun, 06 Mar 2016 18:46:54 +0100, Sebastian Biały napisał/a:
> On 2016-03-06 18:10, Bo(o)t manager wrote:
[ciach]
>
> Po pierwsze dlaczego ultoa ma pomagać a komparacji numerów seryjnych?
>
> Po drugie numery seryjne 1Wire sa naturalnie prezentowane w hex.
To do odpluskwiania przy okazji(składam te parę bajtów do kupy i
wyświetlam), a poza tym wydaje mi się że łatwiej było by porównywać dwie
64bitowe zmienne niż dwie tablice 8 bajtowe.
--
Pozdrawiam
Bo(o)t manager
-
6. Data: 2016-03-06 20:07:40
Temat: Re: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: Sebastian Biały <h...@p...onet.pl>
On 2016-03-06 19:50, Bo(o)t manager wrote:
>> Po pierwsze dlaczego ultoa ma pomagać a komparacji numerów seryjnych?
>> Po drugie numery seryjne 1Wire sa naturalnie prezentowane w hex.
> To do odpluskwiania przy okazji(składam te parę bajtów do kupy i
> wyświetlam)
Tak samo jest w hex. O tyle lepiej że zajmuje mniej miejsca i czasu cpu.
Prezentacja tych numerów w dec jest absurdalna bo nie ma to żadnych
zalet za to ma wady (np. jest dłuższe).
> , a poza tym wydaje mi się że łatwiej było by porównywać dwie
> 64bitowe zmienne niż dwie tablice 8 bajtowe.
A jaka jest róznica między nimi? 8 bajtów to 64 bity.
Ja widze że próbujesz skonwertować do napisów dwie liczby i porównać
*napisy*. Gorzej chyba nie da się już zrobić.
Porównaj 8 bajtów i koniec.
-
7. Data: 2016-03-06 20:31:40
Temat: Re: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: "Bo(o)t manager" <b...@W...wp.pl>
On Sun, 06 Mar 2016 19:50:46 +0100, Bo(o)t manager napisał/a:
> On Sun, 06 Mar 2016 18:46:54 +0100, Sebastian Biały napisał/a:
>
>> On 2016-03-06 18:10, Bo(o)t manager wrote:
> [ciach]
>>
>> Po pierwsze dlaczego ultoa ma pomagać a komparacji numerów seryjnych?
>>
>> Po drugie numery seryjne 1Wire sa naturalnie prezentowane w hex.
>
> To do odpluskwiania przy okazji(składam te parę bajtów do kupy i
> wyświetlam), a poza tym wydaje mi się że łatwiej było by porównywać dwie
> 64bitowe zmienne niż dwie tablice 8 bajtowe.
Samo ultoa do komparacji raczej nie pomoże, ale jak wiem co mi się dzieje
w środku(co widzę na lcd to mi pomaga).(to tak gwoli wyjaśnienia)
--
Pozdrawiam
Bo(o)t manager
-
8. Data: 2016-03-06 21:29:53
Temat: Re: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: "Bo(o)t manager" <b...@W...wp.pl>
On Sun, 06 Mar 2016 20:07:40 +0100, Sebastian Biały napisał/a:
> On 2016-03-06 19:50, Bo(o)t manager wrote:
>>> Po pierwsze dlaczego ultoa ma pomagać a komparacji numerów seryjnych?
>>> Po drugie numery seryjne 1Wire sa naturalnie prezentowane w hex.
>> To do odpluskwiania przy okazji(składam te parę bajtów do kupy i
>> wyświetlam)
>
> Tak samo jest w hex. O tyle lepiej że zajmuje mniej miejsca i czasu cpu.
> Prezentacja tych numerów w dec jest absurdalna bo nie ma to żadnych
> zalet za to ma wady (np. jest dłuższe).
>
>> , a poza tym wydaje mi się że łatwiej było by porównywać dwie 64bitowe
>> zmienne niż dwie tablice 8 bajtowe.
>
> A jaka jest róznica między nimi? 8 bajtów to 64 bity.
>
> Ja widze że próbujesz skonwertować do napisów dwie liczby i porównać
> *napisy*. Gorzej chyba nie da się już zrobić.
>
> Porównaj 8 bajtów i koniec.
Chciałem to zrobić trochę inaczej: utworzyłem 64b uinta.
Potem chciałem zrobić tak:
dokleić na końcu bajt z tablicy potem uinta przesunąć w lewo o 8 bitów,
znów dokleić na końcu, znów przesunać itd.
Na końcu mam 64 bitowego uinta do porównania z drugim u64 tym w epromie.
Ale faktycznie może porównać tablice bajt po bajcie.
--
Pozdrawiam
Bo(o)t manager
-
9. Data: 2016-03-07 04:32:47
Temat: Re: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: Waldek Hebisch <h...@m...uni.wroc.pl>
"Bo(o)t manager" <b...@w...wp.pl> wrote:
> On Sun, 06 Mar 2016 20:07:40 +0100, Sebastian Bia?y napisa?/a:
>
> > On 2016-03-06 19:50, Bo(o)t manager wrote:
> >>> Po pierwsze dlaczego ultoa ma pomaga? a komparacji numer?w seryjnych?
> >>> Po drugie numery seryjne 1Wire sa naturalnie prezentowane w hex.
> >> To do odpluskwiania przy okazji(sk?adam te par? bajt?w do kupy i
> >> wy?wietlam)
> >
> > Tak samo jest w hex. O tyle lepiej ?e zajmuje mniej miejsca i czasu cpu.
> > Prezentacja tych numer?w w dec jest absurdalna bo nie ma to ?adnych
> > zalet za to ma wady (np. jest d?u?sze).
> >
> >> , a poza tym wydaje mi si? ?e ?atwiej by?o by por?wnywa? dwie 64bitowe
> >> zmienne ni? dwie tablice 8 bajtowe.
> >
> > A jaka jest r?znica mi?dzy nimi? 8 bajt?w to 64 bity.
> >
> > Ja widze ?e pr?bujesz skonwertowa? do napis?w dwie liczby i por?wna?
> > *napisy*. Gorzej chyba nie da si? ju? zrobi?.
> >
> > Por?wnaj 8 bajt?w i koniec.
> Chcia?em to zrobi? troch? inaczej: utworzy?em 64b uinta.
> Potem chcia?em zrobi? tak:
> doklei? na ko?cu bajt z tablicy potem uinta przesun?? w lewo o 8 bit?w,
> zn?w doklei? na ko?cu, zn?w przesuna? itd.
> Na ko?cu mam 64 bitowego uinta do por?wnania z drugim u64 tym w epromie.
> Ale faktycznie mo?e por?wna? tablice bajt po bajcie.
>
Nie rozumiem co kombinujesz: jak masz tablice 8 bajtow i uint64_t
to po prostu wzywasz memcmp. Jak chcesz przerobic jedno na
drugie to wzywasz memcpy.
--
Waldek Hebisch
-
10. Data: 2016-03-07 11:26:35
Temat: Re: AVR C poszukiwany odpowiednik funkcji ulltoa()
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Bo(o)t manager" <b...@W...wp.pl> napisał w
wiadomości news:1jguqc-16k.ln1@autostopem.przez.galaktyke.org..
.
> Ale faktycznie może porównać tablice bajt po bajcie.
>
na PC pod Builderem jakbym miał porównać dwie tablice (byte t1[8], t2[8]) to
zrobiłbym: if(*(qword*)t1 == *(qword*)t2)... (typy byte i qword to moje
typedef).
P.G.