eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › AVR C poszukiwany odpowiednik funkcji ulltoa()
Ilość wypowiedzi w tym wątku: 18

  • 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.

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: