-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!go
blin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrad
a.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: Programowanie AT89Cxx51
Newsgroups: pl.misc.elektronika
References: <58a2b213$0$650$65785112@news.neostrada.pl>
From: MKi <e...@t...op.pl>
Date: Tue, 14 Feb 2017 09:31:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Thunderbird/45.6.0
MIME-Version: 1.0
In-Reply-To: <58a2b213$0$650$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 47
Message-ID: <58a2c045$0$15193$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: kolmio.pl
X-Trace: 1487061061 unt-rea-a-02.news.neostrada.pl 15193 84.10.18.54:49767
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:713064
[ ukryj nagłówki ]-- Wiadomość oryginalna (wysłana 14.02.2017 08:30) --
> Wiem, że mikokontrolery oparte na 8051 powoli wychodzą z mody, ale
> obecnie muszę napisać nowy wsad do istniejącego urządzenia. Nie mam
> zamiaru uczyć się assemblera tej rodziny ani bawić się w BASCOM-ie, więc
> skorzystam z C. W czasach świetności tych MCU powszechnie korzystano z
> kompilatora Keil, ja jednak postawię na SDCC - z tego co widzę,
> podobieństwa są dość spore, przynajmniej na pierwszy rzut oka. Proste
> projekty przykładowe się kompilują.
Podstawowa różnica: inna kolejność bajtów w liczbach wielobajtowych.
>
> Mam jednak kilka pytań:
> 1) Widzę, że możliwy jest dostęp do pinów GPIO za pomocą konstrukcji w
> rodzaju Px_y, gdzie x oznacza numer portu, a y numer pinu w porcie.
> Można dzięki temu przypisywać wartość bezpośrednio do pinu, (np.
> P0_1=1). Czym jest taka konstrukcja? Można zdefiniować jakąś zmienną
> wskaźnikową, która umożliwi mi dostęp do tak zdefiniowanego pinu?
> Chciałbym przeportować pewną prostą bibliotekę do obsługi przycisków.
> Dobrze by było, gdybym mógł przekazać informację o pinie właśnie w ten
> sposób, jako argument funkcji, a potem trzymać ją w strukturze
> opisującej przycisk.
Zerknij do plików nagłówkowych SDCC, np:
__sbit __at (0x87) P0_7
Jak widać, to jest po prostu liczba, tylko z atrybutami __sbit __at
> 2) Czy możliwe jest korzystanie z portów w sposób taki, jak w AVR-ach?
> To znaczy coś w rodzaju P0 |= (1<<2).
Oczywiście, dokładnie tak samo.
> 3) Dobrze rozumiem, że te mikrokontrolery nie posiadają żadnych
> rejestrów konfiguracyjnych, jeśli chodzi o kierunek pinu i działają
> podobnie do prostych ekspanderów I2C?
Tu już nie jestem taki pewny, daawno nie programowałem AT89.
Ale chyba faktycznie nie ma żadnej konfiguracji, stan niski
to twarde 0, stan wysoki to wysoka impedancja.
Pozdrowienia,
MKi
Następne wpisy z tego wątku
- 14.02.17 10:03 Zbych
- 14.02.17 10:55 J.F.
- 14.02.17 11:24 w systemie siła 'PO/EU
- 15.02.17 06:16 Atlantis
- 15.02.17 09:56 MKi
- 15.02.17 13:27 Marek
- 16.02.17 08:33 Atlantis
- 16.02.17 08:40 Zbych
- 16.02.17 09:18 Atlantis
- 20.02.17 18:36 Atlantis
- 20.02.17 19:04 J.F.
- 23.02.17 08:38 MKi
- 23.02.17 10:20 Piotr Gałka
- 23.02.17 21:07 Zbych
- 24.02.17 11:01 Piotr Gałka
Najnowsze wątki z tej grupy
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem