7.3 Айнымалылар және деректер түрлері
Микроконтроллердің жад түрлерінен бастайық, олардың 3 түрі бар:
Flash немесе ROM-тұрақты есте сақтау құрылғысы, микроконтроллердің энергияға тәуелді жады, онда бағдарламалық код, прошивка сақталған. Функциялар, рәсімдер, операциялар, мұның бәрі сонда отырады және прошивканың жұмыс істеу барысында өзгермейді (әрине, онда ұшуға болады, бірақ біз мұны жасамаймыз, және де ол қажет емес). Жүктеуді жүктеу кезінде жүктеуші (bootloader) осы жерге прошивканы жазады.
SRAM немесе RAM-жедел есте сақтау құрылғысы, жедел жады. Онда мәндер жұмыс кезінде өзгеруі мүмкін айнымалылар сақталады, бұл жадқа еркін қол жеткізуден артық қол жеткіземіз және оны белсенді пайдаланамыз. Микроконтроллер қайта жүктелгеннен кейін жад толығымен тазартылады.
EEPROM-ағылш. Electrically Erasable Programmable Read-Only Memory-электр өшірілетін қайта бағдарламаланатын ROM, пайдаланушыға өзгертуге болатын мәндерді сақтау үшін бөлінген энергияға тәуелді жады, бірақ олар қайта жүктелгеннен кейін тасталмайды. Бұл ыңғайлы, кейінірек біз онымен жұмыс істейміз.
Сондай-ақ микроконтроллер жататын цифрлық әлемде ақпарат сақталады, түрлендіріледі және сандық түрде, яғни нөлдер мен бірліктер түрінде беріледі. Тиісінше, 0 немесе 1 есте сақтайтын элементарлық жады ұяшығы бит (bit) деп аталады.
Айнымалы-SRAM жады ұяшығы, ол өзінің бірегей атауы бар және оның өлшеміне сәйкес сандар сақтайды. Айнымалыға біз оның аты бойынша жүгінуге және мәнді алуға немесе оны өзгертуге болады.
Кесте 7.1 Айнымалылар типтері
Аты
|
Альт. аты
|
Салмағы
|
Диапазон
|
boolean
|
bool
|
1 байт
|
0 н/е 1, true н/е false
|
char
|
–
|
1 байт
|
-128… 127
|
–
|
int8_t
|
1 байт
|
-128… 127
|
byte
|
uint8_t
|
1 байт
|
0… 255
|
int
|
int16_t, short
|
2 байта
|
-32 768… 32 767
|
unsigned int
|
uint16_t, word
|
2 байт
|
0… 65 535
|
long
|
int32_t
|
4 байт
|
-2 147 483 648… 2 147 483 647
|
unsigned long
|
uint32_t
|
4 байт
|
0… 4 294 967 295
|
float
|
–
|
4 байт
|
-3.4028235E+38… 3.4028235E+38
|
double
|
–
|
4 байт
|
|
–
|
int64_t
|
8 байт
|
-(2^64)/2… (2^64)/2-1
|
–
|
uint64_t
|
8 байт
|
2^64-1
|
Айнымалыларды хабарландыру: <деректер түрі> <аты> <үтір нүктесі>
немесе <деректер түрі><аты> = <мән> <үтір нүктесі>
Мысалы,
byte myVal;
int a = 10;
Ең маңыздысы: айнымалы өзіне хабарланғанға дейін жариялануы керек, код бойынша жоғары болуы керек.
7.4 Функциялар
Функция-өзінің атауы бар және берілген тапсырманы орындайтын бағдарламаның бір бөлігі. Үлкен бағдарлама бірнеше функциядан құрылуы мүмкін, олардың әрқайсысы өз міндетін орындайды. Функцияны пайдалану кодты жазу мен оқуды өте жеңілдетеді, және көп жағдайда оны жадының көлемі бойынша оңтайлы етеді.
Функция сипатталуы керек және осыдан кейін пайда болуы мүмкін. Функция басқа функциялардан тыс сипатталуы тиіс! Функцияның жалпы түрінде келесі құрылымы бар, яғни функцияның сипаттамасы:
<деректер түрі> <функция аты> (<параметрлер жиыны>) {
<денесі функции>
}
Мұнда деректер түрі-бұл функция қайтаратын деректер түрі, функция аты-функция шақыратын атау, параметрлер жиынтығы-міндетті емес формальды айнымалылардың жиынтығы және функцияның денесі-іс-әрекеттер жиынтығы. Функцияны шақыру функции атымен және Бар болса, Параметрлер жинағын беру арқылы жүзеге асырылады:
<опция аты>(<опциялар жиынтығы>);
Егер параметрлер жіберілмесе, кез келген жағдайда бос жақшаларды көрсету керeк!
Достарыңызбен бөлісу: |