ATNEL tech-forum
https://forum.atnel.pl/

Komunikacja miedzy uC 8bit i 32 bit
https://forum.atnel.pl/topic18550.html
Strona 1 z 1

Autor:  michalf [ 3 cze 2017, o 11:03 ]
Tytuł:  Komunikacja miedzy uC 8bit i 32 bit

Powiedzmy, że mamy taką strukturę:

Kod:
struct Temp
{
      uint8_t var1;
      uint32_t var2;

} _sTemp1;



czy mogę ją przesłać z procesora 32bit do 8bit bez żadnych problemów? ;) A jak będzie w odwrotnym przypadku? ;)

Autor:  mirekk36 [ 3 cze 2017, o 11:38 ]
Tytuł:  Re: Komunikacja miedzy uC 8bit i 32 bit

oczywiście, że możesz spotkać i raczej spotkasz problemy. Będziesz musiał się bowiem dowiedzieć np co to są struktury SPAKOWANE (PACKED) ... czy zawsze się opłaca w procku 32-bit stosować spakowane struktury ? Nie zawsze ... a więc trzeba umieć wybierać zawsze jakieś rozwiązania "po środku"

Krótko mówiąc procek 8-bit nie musi używać pakowania struktur bo jego najmniejszą jednostką w pamięci jest BAJT ;) jeden bajt\

a w 32bitowcu ? no jak się domyślasz np 4 bajty (int)...

wtedy też nie opłaca się trzymać takiej zmiennej uint8_t jakby w jednym bajcie w pamięci żeby szybko dostawać się do struktury - tylko będzie to leżało w najmniejszej jednostce 4bajtów z czego wykorzystany będzie tylko JEDEN ale już rozmiar struktury w bajtach będzie się różnił od tej w AVR

zatem już widać - że problemy mogą być

Autor:  michalf [ 3 cze 2017, o 12:20 ]
Tytuł:  Re: Komunikacja miedzy uC 8bit i 32 bit

Dzięki, właśnie brakowało mi tego słowa 'packed' :)

Dla zainteresowanych:
https://sites.google.com/site/eganya/Home/links/gcc---packed-structures

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/