-
1. Data: 2018-12-05 19:38:58
Temat: Arduino błąd dzielenia - czy są testy dla atmegi?
Od: Cezary Grądys <c...@w...onet.pl>
Witam.
Kupiłem sobie na próbę klona Arduino nano na Allegro.
Działa ok, ale przyłapałem go na błędzie.
Otóż kombinuję, żeby zrobić programowany generator przez
podział częstotliwości zegara. Wysyłałem częstotliwość
przez USB i zwrotnie dostawałem obliczony podzielnik.
Raz jeden (za pierwszym uruchomieniem) zdarzyło się, że
16000000/0.2 wyszło 80000008
Najpierw pomyślałem, że funkcja nie nadaje się do dzielenia przez
niewielkie ułamki, bo inne wyniki były dobre. Ale wpisałem jeszcze raz
to 0.2 i dostałem prawidłowy wynik, czyli 80000000.
No i zagwozdka, mogło przekłamać przy liczbie binarnej, ale również
przy transmisji, znak '0' i '8' tez różni się 1 bitem, podobnie jak
wartość binarna.
Jestem pewny dobrego podania dzielnika, bo wypisywał zwrotnie dane.
W związku z tym pytanie, czy ktoś napisał może test do testowania atmegi
w tym przypadku 328 ?
Niekoniecznie rozbudowany, takie podstawowe przetestowanie.
--
Cezary Grądys
c...@w...onet.pl
-
2. Data: 2018-12-05 21:37:13
Temat: Re: Arduino błąd dzielenia - czy są testy dla atmegi?
Od: "J.F." <j...@p...onet.pl>
Użytkownik "Cezary Grądys" napisał w wiadomości grup
dyskusyjnych:5c081b42$0$485$6...@n...neostrada.
pl...
>Kupiłem sobie na próbę klona Arduino nano na Allegro.
>Działa ok, ale przyłapałem go na błędzie.
>Otóż kombinuję, żeby zrobić programowany generator przez
>podział częstotliwości zegara. Wysyłałem częstotliwość
>przez USB i zwrotnie dostawałem obliczony podzielnik.
>Raz jeden (za pierwszym uruchomieniem) zdarzyło się, że
>16000000/0.2 wyszło 80000008
>Najpierw pomyślałem, że funkcja nie nadaje się do dzielenia przez
>niewielkie ułamki, bo inne wyniki były dobre. Ale wpisałem jeszcze
>raz to 0.2 i dostałem prawidłowy wynik, czyli 80000000.
>No i zagwozdka, mogło przekłamać przy liczbie binarnej, ale również
>przy transmisji, znak '0' i '8' tez różni się 1 bitem, podobnie jak
>wartość binarna.
>Jestem pewny dobrego podania dzielnika, bo wypisywał zwrotnie dane.
Istotnie zagwozdka - czemu 1 raz. Moze i przeklamany bit.
Bo jest jeszcze druga - jak oni/ty to liczysz.
0.2 nie ma dokladnej reprezentacji w binarnym formacie
zmiennoprzecinkowym.
Wiec jesli jest jakas biblioteka zmiennoprzecinkowa uzyta, to mamy w
pamieci naprawde liczbe
0.199999... i tu juz moze sie 8000008 pojawic :-)
J.
-
3. Data: 2018-12-06 00:36:22
Temat: Re: Arduino błąd dzielenia - czy są testy dla atmegi?
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
Cezary Grądys <c...@w...onet.pl> napisał(a):
> Witam.
> Kupiłem sobie na próbę klona Arduino nano na Allegro.
> Działa ok, ale przyłapałem go na błędzie.
> Otóż kombinuję, żeby zrobić programowany generator przez
> podział częstotliwości zegara. Wysyłałem częstotliwość
> przez USB i zwrotnie dostawałem obliczony podzielnik.
> Raz jeden (za pierwszym uruchomieniem) zdarzyło się, że
> 16000000/0.2 wyszło 80000008
> Najpierw pomyślałem, że funkcja nie nadaje się do dzielenia przez
> niewielkie ułamki, bo inne wyniki były dobre. Ale wpisałem jeszcze raz to
> 0.2 i dostałem prawidłowy wynik, czyli 80000000.
> No i zagwozdka, mogło przekłamać przy liczbie binarnej, ale również
> przy transmisji, znak '0' i '8' tez różni się 1 bitem, podobnie jak
> wartość binarna.
> Jestem pewny dobrego podania dzielnika, bo wypisywał zwrotnie dane.
> W związku z tym pytanie, czy ktoś napisał może test do testowania atmegi
> w tym przypadku 328 ?
> Niekoniecznie rozbudowany, takie podstawowe przetestowanie.
Czyżbyś chciał testować jednostkę arytmetyczno-logiczną ATmegi? Ewentualnie
libc? Stawiam na błąd w kodzie lub przekłamanie podczas transmisji.
--
Grzegorz Niemirowski
https://www.grzegorz.net/
-
4. Data: 2018-12-06 16:08:42
Temat: Re: Arduino błąd dzielenia - czy są testy dla atmegi?
Od: Marek <f...@f...com>
On Wed, 5 Dec 2018 19:38:58 +0100, Cezary Grądys<c...@w...onet.pl>
wrote:
> No i zagwozdka, mogło przekłamać przy liczbie binarnej, ale również
> przy transmisji, znak '0' i '8' tez różni się 1 bitem, podobnie jak
> wartość binarna.
Nie rozumiem, jakie przekłamanie na USB? Transmisje USB są
zabezpieczone crc. Problem jest raczej w zmiennym przecinku. w
--
Marek
-
5. Data: 2018-12-06 16:22:40
Temat: Re: Arduino błąd dzielenia - czy są testy dla atmegi?
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
Marek <f...@f...com> napisał(a):
> Nie rozumiem, jakie przekłamanie na USB? Transmisje USB są zabezpieczone
> crc. Problem jest raczej w zmiennym przecinku. w
Doświadczenie życiowe mówi, że to USB miało postać FTDI :) ATmega328 nie ma
natywnego USB. Zmiennego przecinka bym nie podejrzewał, do omawianej
operacji nie zostały wykorzystane liczby przy których zmienny przecinek
dałby o sobie znać. Zrobiłem zresztą test i było OK. Poza tym problem był
jednorazowy, co wskazuje na błąd w kodzie lub przekłamanie.
--
Grzegorz Niemirowski
https://www.grzegorz.net/
-
6. Data: 2018-12-06 17:44:19
Temat: Re: Arduino błąd dzielenia - czy są testy dla atmegi?
Od: Cezary Grądys <c...@w...onet.pl>
W dniu 06.12.2018 o 16:22, Grzegorz Niemirowski pisze:
> Doświadczenie życiowe mówi, że to USB miało postać FTDI :) ATmega328 nie
> ma natywnego USB. Zmiennego przecinka bym nie podejrzewał, do omawianej
> operacji nie zostały wykorzystane liczby przy których zmienny przecinek
> dałby o sobie znać. Zrobiłem zresztą test i było OK. Poza tym problem
> był jednorazowy, co wskazuje na błąd w kodzie lub przekłamanie.
Błąd był 1 razowy, najprawdopodobniej błąd transmisji. Na razie wszystko
działa prawidłowo, ale znalazłem opinie, że te chińskie arduina różnie
działają.
--
Cezary Grądys
c...@w...onet.pl
-
7. Data: 2018-12-06 20:04:46
Temat: Re: Arduino błąd dzielenia - czy są testy dla atmegi?
Od: Kaczin <j...@p...interia.pl>
W dniu 06.12.2018 o 17:44, Cezary Grądys pisze:
>
> Błąd był 1 razowy, najprawdopodobniej błąd transmisji. Na razie wszystko
> działa prawidłowo, ale znalazłem opinie, że te chińskie arduina różnie
> działają.
>
Na podstawie twojego wpisu wyrobiłem sobie opinię, że jesteś totalnym
głąbem. Nie mającym pojęcia o tym co to Arduino.
--
Kaczin