eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaZagwozdka w C Keil.Re: Zagwozdka w C Keil.
  • Data: 2019-02-11 00:28:20
    Temat: Re: Zagwozdka w C Keil.
    Od: "Irek.N." <t...@j...taki.jest.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    > LSB to least significant bit.

    Tak nazwane są zmienne i może niefortunnie napisałem LSB.

    Wątpię aby sprawdzany był najmniej
    > znaczący bit, może chodziło o bajt.

    Sprawdzana jest zmienna DEL_STEP ale tylko w zakresie 8 mniej znaczących
    bitów.

    > Szkoda, że nie ma kodu asemblerowego.
    Postaram się jutro podać.

    > W każdy razie to też wątpliwe, raczej sprawdzane jest
    > wszystko, tylko pewnie nie naraz. Jeśli procesor jest 8-bitowy, to int
    > ma 16 bitów i obsługiwany jest po bajcie a nie atomowo. Czyli de facto
    > są dwa testy, dla młodszego i starszego bajtu. Jeśli przerwanie nastąpi
    > między testami to mamy problem. Np. jeśli mamy wartość 256, to test
    > młodszego bajtu da 0. Następnie przerwanie zmieni wartość na 255.
    > Wówczas wykonany zostanie test starszego bajtu i też da zero. A więc
    > zostanie uznane, że cała zmienna ma wartość zero, skoro testy obu bajtów
    > wykazały zera. W takich sytuacjach stosuje się sekcje krytyczne.

    Zgoda, Mateusz też to zauważył. Ale to nie jest istotne w tym przypadku.
    Warunek jest sprawdzany poza przerwaniami, a zmienna jest modyfikowana w
    przerwaniu. Zastanawiam się, czy może to mieć jakikolwiek znaczenie.
    Może należało by sprawdzić najpierw jedną połówkę, później drugą i
    ponownie pierwszą, dla pewności.

    Miłego.
    Irek.N.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: