-
Data: 2011-07-14 15:58:15
Temat: Re: AVRSTUDIO
Od: Konop <k...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 14.07.2011 08:22, Lelek@ pisze:
>
> "Zbych" <a...@o...pl> wrote in message
> news:4e1e8792$0$3502$65785112@news.neostrada.pl...
>> W dniu 2011-07-14 07:25, Lelek@ pisze:
>
>> Sama struktura w ogólności nie gwarantuje ciągłości (człowiek nawet
>> nie poczuje jak mu się zrymuje), bo dochodzi jeszcze coś takiego jak
>> wyrównanie adresów (padding po polsku) dla zmiennych wielobajtowych
>> (np. int). Na avr nie powinieneś mieć z tym problemu jeśli do opcji
>> kompilacji jest dodawane -fpack-struct, albo użyjesz atrybutu packed
>> przy strukturze.
>
> A nie można zmusić tych tablic jakimś atrybutem żeby jedna za drugą sie
> ustawiły w ramie?
> mam już napisany program i teraz przyszła mi ochota na chwilowy bufor
> 1kB ale nie mam tego 1kilo, a tablice są niepotrzebne w chwili używania
> tego obszaru jako bufor.
unsigned char Bufor[1024];
//unsigned char A[128];
unsigned char *A = &Bufor[0]
//unsigned int B[32];
unsigned int *B = (unsigned int *) &Bufor[128];
//unsigned int char C[16];
unsigned char *C = &Bufor[192];
i dalej możesz spokojnie używać zapisów:
A[3] = 5;
for (i=0;i<32;i++) B[i] = 0;
if(C[4] >= 10) ...
ALE!! Uwaga!! Zapisy typu sizeof(A) na pewno Ci nie zwrócą wielkości
tablicy A, bo kompilator nawet nie wie, ile ona zajmuje!! Pomijając
fakt, że zmiana rozmiaru pierwszej tablicy pociąga za sobą konieczność
korekty pozostałych, choć to możesz ominąć odpowiednimi dyrektywami
#define... Ale z tym powalcz już sam ;)...
Tak czy siak - ja bym tak napisał program tylko, jeśli chciałbym komuś
uprzykrzyć życie... w przeciwnym wypadku stosowałbym struktury!! Co do
tego, czy są ciągłe - w 8-bitowcu właściwie na pewno, poza tym, jeśli
nie są, to miejsce pomiędzy nimi jest "puste", więc nic nie stoi na
przeszkodzie, aby je wykorzystać.
Np.
struct {
unsigned char A[130];
unsigned int B[32];
unsigned char C[16];
} _s;
i możesz spokojnie odwoływać się do:
_s[140] bez obawy, że wyjedziesz poza obszar struktury _s.
--
Pozdrawiam
Konop
Następne wpisy z tego wątku
- 15.07.11 02:42 Lelek@
- 15.07.11 13:46 Artur M. Piwko
- 15.07.11 14:12 Michoo
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają