-
From: Piotr Gałka <p...@C...pl>
Newsgroups: pl.misc.elektronika
References: <ihpvpu$mvg$1@mx1.internetia.pl> <4...@i...pl>
<4d467cd6$1@news.home.net.pl> <ii66p3$56t$1@news.onet.pl>
Subject: Re: książka o programowniu AVR w C
Date: Mon, 31 Jan 2011 13:25:23 +0100
Lines: 34
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
NNTP-Posting-Host: 213.192.88.238
Message-ID: <4d46aa5a$1@news.home.net.pl>
X-Trace: news.home.net.pl 1296476762 213.192.88.238 (31 Jan 2011 13:26:02 +0100)
Organization: home.pl news server
X-Authenticated-User: piotr.galka.micromade
Path: news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.home.net
.pl!not-for-mail
Xref: news-archive.icm.edu.pl pl.misc.elektronika:603891
[ ukryj nagłówki ]
Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
news:ii66p3$56t$1@news.onet.pl...
>W dniu 31.01.2011 10:11, Piotr Gałka pisze:
>> "Przecież tak nie można na AVR! Widać, że gość przeniósł się z 51 gdzie
>> tak było można. Facet użył pól bitowych do przekazywania flag między
>> programem a przerwaniami. Tego się nie da _dobrze_ zrealizować w
>> asemblerze AVR bo zmiana bitu wymaga dwu rozkazów i jak między nimi
>> przyjdzie przerwanie to ustawiona w przerwaniu flaga w tym samym
>> rejestrze zostanie skasowana pierwszym rozkazem po powrocie z
>> przerwania."
> Po pierwsze m.i. od tego jest możliwość zablokowania przerwań aby
> wykonywać operacje atomowe.
>
> Po drugie C (avr-gcc) udostępnia ładne makro po którym od razu widać, że w
> tym miejscu zachodzi synchronizacja:
> ATOMIC_BLOCK(ATOMIC_FORCEON)
> {
> flags |= 0b00001001;
> }
>
Ani nie czytałem tego kursu, ani nie pisałem nigdy nic pod gcc.
Przypuszczam, że w tym kursie było coś takiego:
struct {int a:1;int b:1;...}flags;
i potem zapisy typu: flags.a=1; które prawdopodobnie nie były w nic
robiącego z tego operację atomową ujęte.
O ile widząc flags|=1 można się spodziewać kilku rozkazów, o tyle widząc
flags.a=1 można mieć większe problemy, aby wpaść na to, że to może wymagać
otoczenia blokowaniem przerwań.
Tak z czystej ciekawości:
Czy takie makro patrzy co jest w jego wnętrzu i albo blokuje przerwania,
albo nie (jeśli wnętrze z natury jest operacją atomową) ?
P.G.
Następne wpisy z tego wątku
- 31.01.11 14:11 Marcin Wasilewski
- 31.01.11 14:30 Michoo
- 31.01.11 15:38 J.F.
- 31.01.11 16:22 identifikator: 20040501
- 31.01.11 17:00 Michoo
- 31.01.11 17:27 J.F.
- 31.01.11 19:39 Marcin Wasilewski
- 31.01.11 20:04 Sebastian Biały
- 31.01.11 20:13 kk
- 31.01.11 20:54 Sebastian Biały
- 31.01.11 21:20 kk
- 31.01.11 21:27 JDX
- 31.01.11 21:34 Marcin Wasilewski
- 31.01.11 21:40 JDX
- 31.01.11 23:17 RoMan Mandziejewicz
Najnowsze wątki z tej grupy
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
Najnowsze wątki
- 2025-01-27 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-27 Warszawa => Java Developer <=
- 2025-01-27 Warszawa => Data Engineer (Tech Lead) <=
- 2025-01-27 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-27 Kto ma PRAWNĄ rację? poseł KO mec. R. Giertych v. mec. B. Lewandowski
- 2025-01-27 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-27 Koszyk okrągły, walec 3x AA, na duże paluszki R6
- 2025-01-27 Warszawa => QA Engineer <=
- 2025-01-27 Warszawa => Analityk Biznesowo-Systemowy <=
- 2025-01-27 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-27 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-27 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-27 Kraków => User Experience Designer <=
- 2025-01-27 Kraków => iOS Developer (Swift experience) <=
- 2025-01-26 Trump-2 JUŻ bardzo łaskawy [1_500 ułaskawień skazanych za Bidena za "Kawkę na Kapitolu"]