-
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
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=