eGospodarka.pl
eGospodarka.pl poleca

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

    J.F. pisze:
    > Dnia Sun, 10 Feb 2019 22:32:33 +0100, Irek.N. napisał(a):
    >> Pytanie do znawców C. Czy zapis taki:
    >
    >> volatile unsigned int DEL_STEP;
    >>
    >> void DELAY(unsigned int Czas)
    >> {
    >> DEL_STEP = Czas;
    >> while(DEL_STEP);
    >> }
    >>
    >
    >> Znalazłem błąd w starym kodzie. Ze zdziwieniem odkryłem, że w komendzie
    >> while(DEL_STEP); kompilator sprawdza tylko LSB zmiennej.
    >
    > ewentualnie ... kompilator potraktowal to jako wartosc logiczna, i
    > uznal ze mu LSB wystarczy, albo wrecz ma niejawny typ logiczny,
    > 8-bit, dokonal konwersji i sprawdzenia ... i mu sie MSB zoptymalzowal.
    >
    > Sprobuj
    > while(DEL_STEP != 0);
    >
    > J.


    Sorki, źle napisałem na grupie podział na połówki, jak Mateusz zauważył.
    Powinno być:

    DEL_MSB = DEL_STEP/0x100;
    DEL_LSB = DEL_STEP%0x100;

    Choć intencja jest oczywista i niczego to raczej nie zmienia, wypada
    poprawić.

    Sprawdzę Twoją propozycję jutro. Może naprowadzi nas na powód.

    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: