-
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
- 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?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
Najnowsze wątki
- 2025-01-08 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-08 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-08 Katowice => Key Account Manager (ERP) <=
- 2025-01-08 Warszawa => Programista Full Stack .Net <=
- 2025-01-08 Podłączenie DMA 8257 do 8085
- 2025-01-08 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-01-08 Warszawa => Solution Architect (Java background) <=
- 2025-01-08 Wrocław => Application Security Engineer <=
- 2025-01-08 Warszawa => International Freight Forwarder <=
- 2025-01-08 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-08 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2025-01-08 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-08 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-08 Warszawa => Spedytor Międzynarodowy <=