Język C51 - implementacja.pdf
(
2335 KB
)
Pobierz
3085368 UNPDF
Kompilator
języka C na procesor 8051
RC51 implementacja
Implementowane typy danych
●
●
bit
– 1 bit
●
●
char
lub
char signed
8 bitów
●
●
char unsigned
8 bitów
●
●
int
lub
signed int
16 bitów
●
●
unsigned int
16 bitów
●
●
long
lub
signed long
32 bity
●
●
unsigned long
32 bity
●
●
float
32 bity (BCD lub IEEE)
●
●
double
48 bitów (tylko BCD)
●
●
long double
56 bitów (tylko BCD)
Implementowane typy danych – wskaźniki
●
RC51 oferuje dwa rodzaje wskaźników:
●
... kwalifikowane, wskazujące dane w określonym typie pamięci
●
...
generic
, mogące wskazywać obiekt w dowolnym obszarze pamięci
Void Example()
{
code char *cPtr; // rozmiar 2 bajty
xdata char *xPtr; // rozmiar 2 bajty
idata char *iPtr; // rozmiar 1 bajt
char generic *gPtr; // rozmiar 3 bajty
dPtr = gPtr; // bł d
ą
gPtr = dPtr; // poprawne
xPtr = dPtr; // bł d
ą
xPtr = (char xdata*) dPtr; // poprawne
}
Implementowane typy danych – wskaźniki generic
●
Wźniki
generic
oprócz 16bitowego adresu
●
... zawierają jeszcze bajt kwalifikatora przestrzeni adresowej:
●
0x00 – null
●
0x01 – idata
●
0x02 – xdata
●
0x03 – pdata
●
0x04 – data
●
0x05 – code
●
0xFF – zarezerwowany dla procedur we/wy
Zmienne automatyczne i statyczne
●
Zmienne lokalne funkcji mogą być:
●
Automatyczne
●
... są tworzone przy wywołaniu funkcji
●
... oraz usuwane przy powrocie do miejsca wywołania;
●
... zgodnie ze specyfikacją ANSI otrzymują wartość początkową 0
●
... ale można zabronić tego działania w opcjach kompilatora RC51
●
Składnia:
auto unsigned int MOJ_LICZNIK;
●
Słowo kluczowe
auto
jest opcjonalne.
Plik z chomika:
inf4
Inne pliki z tego folderu:
Różne drobiazgi.pdf
(1627 KB)
Język C51 - implementacja.pdf
(2335 KB)
Controller area network.pdf
(1264 KB)
Lokalne interfejsy szeregowe.pdf
(5565 KB)
Realizacja algorytmów regulacji.pdf
(1815 KB)
Inne foldery tego chomika:
Emulatory
Zgłoś jeśli
naruszono regulamin