-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "J.F." <j...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Obsługa peryferiów poprzez API (wskazniki do struktury)
Date: Mon, 28 May 2012 21:52:19 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 58
Message-ID: <17iecqj6n7af4$.10bdpstyhryoi$.dlg@40tude.net>
References: <f...@f...googlegroups.com>
<y80629n75j0s$.1q2xhw0muf74c.dlg@40tude.net>
<a...@q...googlegroups.com>
<jpqv9u$l13$1@node2.news.atman.pl> <jpr05h$put$1@inews.gazeta.pl>
<jpr0dm$lnd$2@node2.news.atman.pl>
<a...@s...googlegroups.com>
<jpto68$no7$1@inews.gazeta.pl>
<9...@v...googlegroups.com>
NNTP-Posting-Host: h82-143-187-50-static.e-wro.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1338234737 3547 82.143.187.50 (28 May 2012 19:52:17 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 28 May 2012 19:52:17 +0000 (UTC)
X-User: jjll
User-Agent: 40tude_Dialog/2.0.15.1pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:632091
[ ukryj nagłówki ]Dnia Mon, 28 May 2012 11:13:59 -0700 (PDT), slawek7 napisał(a):
> Chyba rozumiem. Bo czy to znaczy że jeśli jakiś rejestr 32 bitowy ma
> możliwość zapisania go wartością 16 bitowa bo tak podaje dokumentacja
> to chcąc dokonać takiego zapisu liczbą 16 bitową używam rzutowania 16
> bitowego w postaci (*(uint16_t*)0x40010C10)=0x1234;
> Natomiast jeśli rejestr musi byc zapisany tylko wartością 32 bitowa bo
> tak każe dokumentacja to u zywam (*(uint32_t*)0x40010C10)=0x12345678;
>
> Ale mam wątpliwość, czy czasem to rzutowanie nie oznacza tylko
Czyli chyba nie rozumiesz
0x40010C10
to liczba. a moze i adres.
(uint32_t*)0x40010C10
liczba, zasadniczo ta sama, ale juz typu "wskaznik na cos"
*(uint32_t*)0x40010C10
obiekt wskazywany przez ten wskaznik. A poniewaz wskaznik mial wskazywac
na uint32, to obiekt jest uint32. Albo inny, jesli tak ustalisz.
(*(uint32_t*)0x40010C10)=0x0000000f;
a tu masz wpisanie wartosci do obiektu.
Przy czym moze nastapic kolejna konwersja wyrazenia z prawej strony, na typ
obiektu z lewej. Np
(*(uint8_t*)0x40010C10)=0x00001234;
to zapisze jeden bajt, 34
(*(uint32_t*)0x40010C10)=0x9f;
a to zapisze 0000009f, albo ffffff9f :-)
> arytmetyki wskaźników?
> Tzn za następny wskazywany obszar bęzie większy
> albo o 2 bajty albo o 4, jak w przypadku zwykłej arytmetyki wskaźników
A to oczywiscie tez. Tylko trzeba umiejetnie wykorzystywac.
> np
> uint16_t *ptr; // wskaźnik na liczbę 16 bitową
> teraz zwiększamy adres o jeden ptr++; czyli tak naprawdę wskaźnik
> skacze o dwa a nie o jeden adres?
Tylko wiesz ze nie zapiszesz
((uint8_t*)0x40010C10)++)
ani
((uint32_t *) ptr)++;
Za to mozesz sprobowac
*((uint32_t *)ptr+1)=1 ;
A na koniec masz zadanie domowe
(*((uint32_t **) &ptr))++;
J.
Następne wpisy z tego wątku
- 28.05.12 22:33 Michoo
- 29.05.12 08:13 Portal
- 29.05.12 08:20 Portal
- 29.05.12 20:02 slawek7
- 29.05.12 20:02 slawek7
- 29.05.12 20:09 slawek7
- 29.05.12 20:15 slawek7
- 29.05.12 20:47 RoMan Mandziejewicz
- 29.05.12 21:34 Portal
- 30.05.12 06:30 slawek7
- 30.05.12 08:28 Grejon
- 30.05.12 09:24 Artur M. Piwko
- 30.05.12 09:21 Artur M. Piwko
- 30.05.12 10:41 RoMan Mandziejewicz
- 31.05.12 22:34 Grzegorz Niemirowski
Najnowsze wątki z tej grupy
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- Aparat, zewnętrzny mikrofon, brum
- Wieszanie się przy aktywnym SMP
- Prognozowanie zużycia energii przez PGE?
- Odkurzacz mnie bije :(
- Rapsberry Pi i synchronizacja plików
- RCD 300 mA
- rpi i moduł przekaźników
- Falownik do pompy CO
- Lampa ogrodowa rozłączała różnicówkę
- Inteligentne oświetlenie schodów
- Pytanie do Użytkownika
- Emanuel kiedyś szukał gotowca do chłodzenia leków
- Sprzęty z Lidl-a
- idzie nowe
Najnowsze wątki
- 2024-10-07 Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- 2024-10-07 Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- 2024-10-07 Kraków => Head of International Freight Forwarding Department <=
- 2024-10-07 Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- 2024-10-07 Aparat, zewnętrzny mikrofon, brum
- 2024-10-07 MĂźnchen => Data Scientist <=
- 2024-10-07 Gdańsk => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-10-07 Kraków => Programista Full Stack .Net <=
- 2024-10-07 Re: Taniocha!!!
- 2024-10-07 Warszawa => Technical Leader (Java Background) <=
- 2024-10-07 Zielona Góra => Power Electronics R&D Engineer <=
- 2024-10-07 Warszawa => Junior New Business Development Manager <=
- 2024-10-07 Warszawa => Key Account Manager <=
- 2024-10-07 Wrocław => Konsultant wdrożeniowy ERP (Symfonia) <=
- 2024-10-07 policja szuka