-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: "Irek.N." <t...@j...taki.jest.pl>
Newsgroups: pl.misc.elektronika
Subject: Zagwozdka w C Keil.
Date: Sun, 10 Feb 2019 22:32:33 +0100
Organization: ATMAN - ATM S.A.
Lines: 43
Message-ID: <q3q59d$hp9$1@node1.news.atman.pl>
NNTP-Posting-Host: 77-253-172-130.adsl.inetia.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Trace: node1.news.atman.pl 1549834350 18217 77.253.172.130 (10 Feb 2019 21:32:30
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sun, 10 Feb 2019 21:32:30 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
Xref: news-archive.icm.edu.pl pl.misc.elektronika:740894
[ ukryj 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
- Detektor
- Może tutaj się uda: [NTG] Elewacja / dziurawa Churka
- Falownik jednofazowy a żarówka
- Agregat i "legalność" instalacji
- Uziom
- (Ponownie) odkryto, że ładowanie pulsacyjne robi dobrze
- driver led ?
- Długość wtyku zasilającego ?5.5mm
- Szukam przetwornicy 55-40V>8-8.2V 3-4A
- Kindle - pierwsze wrażenia
- Transformator TS90/16, uzwojenia połączone szeregowo na stałe, z asymetrycznym odczepem, napięcia 16V i 39V a prostowanie pełnookresowe
- regulacja prądu ?
- W jakim celu napięcia symetryczne?
- LEDówki i korki?
- Z dedykacją dla tych, którym się chce.
Najnowsze wątki
- 2024-04-23 Dostałem nową kartę
- 2024-04-23 Re: Głośniki
- 2024-04-23 Re: Głośniki
- 2024-04-23 Fwd: Re: Głośniki
- 2024-04-23 Re: Głośniki
- 2024-04-23 Białystok => Senior Rust Software Engineer <=
- 2024-04-23 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-04-23 Czy prawo okresli granice chamstwa Jońskiego?
- 2024-04-23 Warszawa => Manager Sprzedaży <=
- 2024-04-23 Kraków => Service Leader/PLC Programmer with German <=
- 2024-04-23 Białystok => Senior Software Engineer PHP (BillPro) Kontraktor <=
- 2024-04-23 Kraków => Mid/Senior QA Engineer <=
- 2024-04-23 Kraków => Lider Serwisu/Programista PLC z językiem niemieckim <=
- 2024-04-23 Marki => Senior DevOps Engineer <=
- 2024-04-23 Odkrywanie ameryki - auta gnija.