-
Data: 2019-02-10 22:32:33
Temat: Zagwozdka w C Keil.
Od: "Irek.N." <t...@j...taki.jest.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Pytanie do znawców C. Czy zapis taki:
volatile unsigned int DEL_STEP;
void DELAY(unsigned int Czas)
{
DEL_STEP = Czas;
while(DEL_STEP);
}
może różnić się wykonaniem od zapisu takiego?
void DELAY(unsigned int Czas)
{
unsigned char DEL_MSB,DEL_LSB;
DEL_STEP = Czas;
while(1)
{
DEL_LSB = DEL_STEP/0x100;
DEL_MSB = DEL_STEP^0x100;
if(DEL_MSB == 0 & DEL_LSB == 0)
return;
}
}
Znalazłem błąd w starym kodzie. Ze zdziwieniem odkryłem, że w komendzie
while(DEL_STEP); kompilator sprawdza tylko LSB zmiennej. Oczywiście
generuje to kłopoty, gdy DEL_STEP przekracza wartość 255.
Przepisanie jak niżej rozwiązuje problem, ale nie kumam powodu jego
wystąpienia. Sprawdziłem optymalizacje, to nie to, po prostu kod jest
generowany źle. Ktoś ma pomysł dlaczego kompilator uprościł, a może ja
czegoś nie zauważam?
Miłego.
Irek.N.
ps. DEL_STEP jest modyfikowana w przerwaniu, inaczej procedura nie miała
by sensu.
Następne wpisy z tego wątku
- 10.02.19 23:01 Zbych
- 10.02.19 23:41 Mateusz Viste
- 10.02.19 23:49 J.F.
- 10.02.19 23:55 J.F.
- 10.02.19 23:59 Grzegorz Niemirowski
- 11.02.19 00:10 Grzegorz Niemirowski
- 11.02.19 00:11 Irek.N.
- 11.02.19 00:14 Irek.N.
- 11.02.19 00:28 Irek.N.
- 11.02.19 09:27 Mateusz Viste
- 11.02.19 09:32 Mateusz Viste
- 11.02.19 09:43 Grzegorz Niemirowski
- 11.02.19 10:02 Grzegorz Niemirowski
- 11.02.19 11:10 Mateusz Viste
- 11.02.19 11:54 Queequeg
Najnowsze wątki z tej grupy
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
Najnowsze wątki
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Wszystkiego najlepszego
- 2025-12-31 Czy potrafisz wskazać różnice? [TVN v. RMF]
- 2025-12-31 I kolejny jebnięty
- 2025-12-31 Myślenice => Specjalista ds. kontrolingu <=
- 2025-12-31 Ostróda szlachetnie walczy
- 2025-12-31 Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Pieniadze-cuchna-oddechem-nawalonego-tatusia
- 2025-12-31 Iran na skraju gospodarczego upadku. Na ulicach Teheranu (znów) wrze. To może być cios dla reżimu
- 2025-12-30 zasilacz
- 2025-12-30 Teraz System Plików PFS z sys. op. Amiga OS będziesz mógł zamontować pod sys. op. Linuks i Jabłoko Makintosz
- 2025-12-30 Aeor2 i ciągły internet 512kb




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]