-
Data: 2019-02-11 00:11:08
Temat: Re: Zagwozdka w C Keil.
Od: "Irek.N." <t...@j...taki.jest.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Pierwszy wariant wydaje się bardzo sensowny. Kompilator zepsuty? A może
> typ int nie jest atomiczny, i kompilator sprawdza najpierw jednego nibbla,
> i dopiero jeśli ten okaże się zerowy to zajmie się drugim?
> Próbowałeś może zastąpić jakimś sig_atomic_t?
Nie, na razie nic nie próbowałem.
> Ten drugi przykład to w ogóle lichy jest, bo pętla ma teoretyczne prawo
> zostać przerwana za każdym razem kiedy wartość DEL_STEP zostaje zmieniona
> z wartości o zerowym MSB do wartości o zerowym LSB (np. 0x0034 -> 0x1200)
> - a to dlatego, że los może złośliwie zechcieć wykonać twoje przerwanie
> akurat pomiędzy liniami:
>
> DEL_LSB = DEL_STEP/0x100;
> DEL_MSB = DEL_STEP^0x100;
To prawda, ale przynajmniej pozwoliło mi potwierdzić przyczynę problemów.
W ogóle kiepsko to przepisałem, znaczek modulo mi się omsknął i jak sam
zauważyłeś - zamieniłem połówki. Sorki. Zamysł był taki jak podejrzewałeś.
> Swoją drogą, trochę dziwnie patrzeć na dzielenie w takiej operacji. Jeśli
> kompilator mądry, to zoptymalizuje twoje "/ 0x100" do ">> 8", ale jeśli
> na to nie wpadnie... to będzie mało ekologicznie.
Radzi sobie z takimi zapisami sensownie.
THX, postaram się wrzucić jak tylko będę mógł kod wynikowy tego fragmentu.
Miłego.
Irek.N.
Następne wpisy z tego wątku
- 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
- 11.02.19 11:59 Queequeg
- 11.02.19 12:17 J.F.
- 11.02.19 13:45 k...@g...com
- 11.02.19 14:27 Mateusz Viste
- 12.02.19 02:33 k...@g...com
- 12.02.19 09:31 Mateusz Viste
- 12.02.19 22:39 Irek.N.
Najnowsze wątki z tej grupy
- Leżakujące SSD gubią po roku dane
- kolorowy e-paper
- Sterownik kotła CO praca PWM
- Jakie baterie A23 i LR44?
- OLED SSD1306 - degradacja?
- Który symulator AVR jest ,,prawilny"?
- Disk on Module, czym to odczytać?
- Pasta ochronna? Lutownicza?
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
Najnowsze wątki
- 2025-12-02 logowanie do wifi
- 2025-12-02 przelew przychodzący Alior
- 2025-12-02 Czyli już wolno "likwidować" rozbitków USA? [Wzajemności zasada najświętszą jest]
- 2025-12-01 #motodziennik 356 - 3.0TDI wraca, Tesla z PRZYCISKAMI, Fiat 500 z ceną, OPŁATA DROGOWA od ELEKTRYKÓW
- 2025-12-01 Białystok => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Se
- 2025-12-01 Białystok => Dynamics 365 Commerce/POS Developer <=
- 2025-12-01 Białystok => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-12-01 Białystok => React Developer with knowledge of C++ <=
- 2025-12-01 Poznań => Specjalista ds. Marketingu Online (PPC) <=
- 2025-12-01 Białystok => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-01 Warszawa => Fullstack PHP Developer <=
- 2025-12-01 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-12-01 Wrocław => Programista React ze znajomością C++ <=
- 2025-12-01 Warszawa => Spedytor Międzynarodowy <=
- 2025-12-01 Warszawa => Architekt rozwiązań (Workday) - Legal Systems <=




Ile kosztują tanie mieszkania w polskich metropoliach?