Kas ir iegultā C programma un tās struktūra iesācējiem

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Iepriekš daudzas iegultās lietojumprogrammas tika izstrādātas, izmantojot montāžas līmeņa programmēšanu. Tomēr tie nenodrošināja pārnesamību. Šo trūkumu pārvarēja dažādu augsta līmeņa valodu, piemēram, C, Pascal un COBOL, parādīšanās. Tomēr tieši C valoda ieguva plašu iegulto sistēmu akceptu un turpina to darīt. Uzrakstītais C kods ir ticamāks, mērogojamāks un pārnēsājamāks, un patiesībā daudz vieglāk saprotams. Iegultā C programmēšana ir procesora dvēsele, kas darbojas katrā iegultā sistēma mēs ikdienā sastopamies, piemēram, ar mobilajiem tālruņiem, veļas mašīnām un digitālajām kamerām. Katrs procesors ir saistīts ar iegulto programmatūru. Pirmā un galvenā lieta ir iegultā programmatūra, kas nolemj darboties iegultā sistēmā. Visbiežāk tiek izmantota iegultā C valoda programmēt mikrokontrolleru .

Kas ir C valoda?

C valodu 1969. gadā izstrādāja Deniss Ričijs. Tā ir vienas vai vairāku funkciju kolekcija, un katra funkcija ir paziņojumu kolekcija, kas veic noteiktu uzdevumu.
C valoda ir vidēja līmeņa valoda, jo tā atbalsta augsta līmeņa un zema līmeņa lietojumprogrammas. Pirms iedziļināšanās C iegultās C programmās, mums vajadzētu zināt par RAM atmiņas organizēšanu.




Galvenās C valodas iezīmes ietver šādas.

  • C valoda ir programmatūra, kas izstrādāta ar dažādiem atslēgvārdiem, datu tipiem, mainīgajiem, konstantēm utt.
  • Iegultais C ir vispārīgs termins, kas piešķirts programmēšanas valodai, kas rakstīta C, un ir saistīta ar noteiktu aparatūras arhitektūru.
  • Iegultais C ir C valodas paplašinājums ar dažiem papildu galvenes failiem. Šie galvenes faili var mainīties no kontroliera uz kontrolieri.
  • The mikrokontrolleris 8051 Tiek izmantots #include.

Kas ir iegultā C programmēšana

Katrā iegultās sistēmas projektā iegultā C programmēšanai ir galvenā loma, lai mikrokontrolleris darbotos un veiktu vēlamās darbības. Pašlaik mēs parasti izmantojam vairākas elektroniskas ierīces, piemēram, mobilos tālruņus, veļas mazgājamās mašīnas, apsardzes sistēmas, ledusskapjus, digitālās fotokameras utt. Šo iegulto ierīču vadību var veikt ar iegultās C programmas palīdzību. Piemēram, digitālajā fotokamerā, ja mēs nospiežam kameras pogu, lai uzņemtu fotoattēlu, mikrokontrolleris izpildīs nepieciešamo funkciju, lai noklikšķinātu uz attēla, kā arī lai to saglabātu.



Iegultā C programmēšana

Iegultā C programmēšana

Iegultā C programmēšana tiek veidota ar funkciju kopumu, kur katra funkcija ir paziņojumu kopa, kas tiek izmantota noteiktu uzdevumu izpildei. Gan iegultās C, gan C valodas ir vienādas un tiek ieviestas, izmantojot dažus pamatelementus, piemēram, mainīgo, rakstzīmju kopu, atslēgvārdus, datu tipus, mainīgo deklarāciju, izteicienus, paziņojumus. Visiem šiem elementiem ir galvenā loma, rakstot iegulto C programmu.

Iegultās sistēmas projektētājiem jāzina par aparatūras arhitektūru, lai rakstītu programmas. Šīm programmām ir nozīmīga loma ārējo ierīču uzraudzībā un kontrolē. Viņi arī tieši darbojas un izmanto mikrokontrollera iekšējo arhitektūru, piemēram, pārtraukumu apstrādi, taimerus, sērijas sakarus un citas pieejamās funkcijas.


Iegultās sistēmas programmēšana

Kā mēs iepriekš apspriedām, iegultās sistēmas projektēšanu var veikt, izmantojot aparatūru un programmatūru. Piemēram, vienkāršā iegultā sistēmā procesors ir galvenais modulis, kas darbojas kā sistēmas sirds. Šeit procesors ir nekas cits kā mikroprocesors, DSP, mikrokontrolleris, CPLD un FPGA. Visi šie procesori ir programmējami tā, lai tas definētu ierīces darbību.

Iegultās sistēmas programma ļauj aparatūrai attiecīgi pārbaudīt ieejas un vadības izejas. Šajā procedūrā iegultajai programmai var būt tieši jākontrolē procesora iekšējā arhitektūra, piemēram, Taimeri, Pārtraukšanas apstrāde, I / O porti, sērijas sakaru saskarne utt.

Tātad iegultās sistēmas programmēšana procesoram ir ļoti svarīga. Iegultām sistēmām ir pieejamas dažādas programmēšanas valodas, piemēram, C, C ++, montāžas valoda, JAVA, JAVA skripts, Visual Basic utt. Tāpēc šai programmēšanas valodai ir galvenā loma, veidojot iegulto sistēmu, taču valodas izvēle ir ļoti būtiska.

Iegultās C programmas izveidošanas darbības

Iegultās c programmas projektēšanā ir iesaistīti dažādi soļi, piemēram, šādi.

  • Komentāri
  • Procesora direktīvas
  • Porta konfigurācija
  • Globālie mainīgie
  • Galvenā funkcija / galvenā funkcija
  • Mainīgā deklarācija
  • Programmas loģika

Komentāri

Programmēšanas valodās komentāri ir ļoti svarīgi, lai aprakstītu programmas funkciju. Komentāru kods nav izpildāms, bet tiek izmantots programmas dokumentācijas nodrošināšanai. Lai saprastu programmas funkciju, tas padarīs vienkāršu metodi, lai izprastu programmas funkciju. Iegultā C komentāri ir pieejami divos veidos, proti, vienā rindā un galvenajā komentārā.

Iegultā C programmēšanas valodā mēs varam ievietot komentārus mūsu kodā, kas palīdz lasītājam viegli saprast kodu.

C = a + b / * pievienot divus mainīgos, kuru vērtība tiek saglabāta citā mainīgajā C * /

Vienrindas komentārs

Parasti programmēšanas valodās vienas rindas komentāri ir ļoti noderīgi, lai precizētu programmas daļu. Šie komentāri sākas ar dubulto slīpsvītru (//), un tos var atrast jebkur programmēšanas valodā. Izmantojot to, programmā var ignorēt visu līniju.

Daudzrindu komentārs

Vairākrindu komentāri sākas ar vienu slīpsvītru (/) un zvaigznīti (/ *) programmēšanas valodās, kas izskaidro koda bloku. Šāda veida komentārus var sakārtot jebkurā programmēšanas valodas vietā un galvenokārt izmantot, lai ignorētu visu koda bloku programmā.

Procesora direktīvas

Programmas kodā iekļautās rindas sauc par priekšapstrādes direktīvām, kurām var sekot ar hash simbolu (#). Šīs rindas ir priekšapstrādātāju direktīvas, bet ne ieprogrammēti paziņojumi.
Kodu var pārbaudīt, izmantojot pirmapstrādes procesoru, pirms reālā koda sastādīšana sāk un atrisina šīs direktīvas, pirms ģenerē kodu, izmantojot regulārus paziņojumus. Ir pieejamas vairākas īpašas priekšapstrādātāju direktīvas, lai gan divas direktīvas ir ļoti noderīgas programmēšanas valodā

patīk šis.

# iekļaut
# iekļaut
Sbit LED = P2 ^ 3
Galvenais ()
{
LED = 0x0ff
Kavēšanās ()
LED = 0x00
}
#define
# iekļaut
#define LED P0
Galvenais ()
{
LED = 0x0ff
Kavēšanās ()
LED = 0x00
}

Iepriekš minētajā programmā #include direktīva parasti tiek izmantota, lai iekļautu tādas standarta bibliotēkas kā pētījums un. h tiek izmantots, lai atļautu I / O funkcijas, izmantojot ‘C’ bibliotēku. #Define direktīva parasti tiek izmantota, lai aprakstītu mainīgo virkni un piešķir vērtības, izpildot procesu noteiktā instrukcijā, piemēram, makro.

Porta konfigurācija

Mikrokontrolleris ietver vairākas ostas, kurās katrai ostai ir atšķirīgas tapas. Šīs tapas var izmantot, lai vadītu saskarnes ierīces. Šo tapu deklarēšanu var veikt programmas ietvaros ar atslēgvārdu palīdzību. Iegultās c programmas atslēgvārdi ir standarta, kā arī iepriekš definēti, piemēram, bit, sbit, SFR, kas tiek izmantoti, lai norādītu programmas bitus un vienu tapu.

Ir noteikti vārdi, kas rezervēti konkrētu uzdevumu veikšanai. Šie vārdi ir pazīstami kā atslēgvārdi. Tie ir standarta un iepriekš definēti iegultā C. Atslēgvārdi vienmēr tiek rakstīti ar mazajiem burtiem. Šie atslēgas vārdi ir jādefinē pirms galvenās programmas rakstīšanas. Atslēgvārdu galvenās funkcijas ietver sekojošo.

# iekļaut
Sbit a = P 2 ^ 2
SFR 0x00 = PoRT0
Bits C
galvenais ()
{
…………… ..
…………… ..
}

sbit

Šis ir viena veida datu tips, ko izmanto, lai piekļūtu vienam bitam SFR reģistrā.

Šī datu veida sintakse ir šāda: sbit mainīgā nosaukums = SFR bits

Piemērs: sbit a = P2 ^ 1

Ja mēs piešķiram p2.1 kā ‘a’ mainīgo, tad jebkurā vietā p2.1 vietā mēs varam izmantot ‘a’, kas samazina programmas sarežģītību.

Bit

Šāda veida datu tipu galvenokārt izmanto, lai atļautu brīvpiekļuves atmiņas, piemēram, 20h līdz 2fh, bitu adresējamo atmiņu.

Šī datu veida sintakse ir: bitu mainīgā nosaukums

Piemērs: bits c

Tas ir mazliet sērijas iestatījums nelielā datu reģionā, ko galvenokārt izmanto ar programmas palīdzību, lai kaut ko iegaumētu.

SFR

Šāda veida dati tiek izmantoti, lai iegūtu SFR reģistra perifērijas porti, izmantojot papildu nosaukumu. Tātad visu SFR reģistru deklarēšanu var veikt ar lielajiem burtiem.

Šī datu veida sintakse ir šāda: SFR mainīgā nosaukums = SFR reģistra SFR adrese

Piemērs: SFR ports 0 = 0 × 80

Ja mēs piešķiram 0 × 80, piemēram, ‘port0’, pēc tam mēs varam izmantot 0 × 80 port00 vietā jebkur programmēšanas valodā, lai samazinātu programmas grūtības.

SFR reģistrs

SFR nozīmē Īpašo funkciju reģistrs. 8051 mikrokontrollerī tā ietver RAM atmiņu ar 256 baitiem, kas ir sadalīta divos galvenajos elementos: pirmais 128 baitu elements galvenokārt tiek izmantots datu glabāšanai, bet otrs 128 baitu elements galvenokārt tiek izmantots SFR reģistros. Visas perifērijas ierīces, piemēram, taimeri, skaitītāji un I / O porti, tiek glabātas SFR reģistrā, un katram elementam ir viena adrese.

Globālie mainīgie

Kad mainīgais ir deklarēts, pirms galvenā funkcija ir pazīstama kā globālais mainīgais. Šo mainīgo var atļaut jebkurai programmas funkcijai. Globālā mainīgā dzīves ilgums galvenokārt ir atkarīgs no programmēšanas līdz tā beigām.

# iekļaut
Neparakstīts int a, c = 10
Galvenais ()
{
……………
………… ..
}

Galvenā funkcija / galvenā funkcija

Galvenā funkcija ir centrālā daļa, izpildot jebkuru programmu, un tā sākas ar galveno funkciju vienkārši. Katra programma izmanto tikai vienu galveno funkciju, jo, ja programmā ir virs vienas galvenās funkcijas, nākamais kompilators tiks sajaukts, uzsākot programmas izpildi.

# iekļaut
Galvenais ()
{
……………
………… ..
}

Mainīgā deklarācija

Vārdu glabāšanai tiek izmantots nosaukums, piemēram, mainīgais, taču šis mainīgais vispirms jādeklarē, pirms to izmanto programmā. Mainīgā deklarācijā ir norādīts tā nosaukums, kā arī datu tips. Šeit datu tips ir nekas cits kā uzglabāšanas datu attēlojums. Iegultā C programmēšanā datu glabāšanai atmiņā tiek izmantoti četri pamatdatu veidi, piemēram, vesels skaitlis, pludiņš, rakstzīme. Datu veida lielumu, kā arī diapazonu var noteikt atkarībā no sastādītāja.

Datu tips attiecas uz plašu sistēmu dažāda veida mainīgo deklarēšanai, piemēram, vesels skaitlis, rakstzīme, pludiņš utt. Iegultā C programmatūra izmanto četrus datu tipus, kurus izmanto datu glabāšanai atmiņā.

‘Char’ tiek izmantots jebkuras atsevišķas rakstzīmes glabāšanai ’int’ tiek izmantots vesela skaitļa vērtības glabāšanai, un ‘float’ tiek izmantots jebkuras precizitātes peldošā komata vērtības glabāšanai. Dažādu datu tipu lielums un diapazons 32 bitu mašīnā ir norādīts šajā tabulā. Iekārtās ar dažādiem vārdu izmēriem lielums un diapazons var atšķirties.

  • Char / parakstītā char datu veida lielums ir 1 baits, un tā diapazons ir no -128 līdz +128
  • Parakstītais char datu veida lielums ir 1 baits, un tā diapazons ir no 0 līdz 255
  • Int / parakstīts int datu veida lielums ir 2 baiti, un tā diapazons ir no -32768 līdz 32767
  • Neparakstīts int datu veida lielums ir 2 baiti, un tā diapazons ir no 0 līdz 65535

Galvenais ()
{
Neparakstīts int a, b, c
}

Iegultās C programmas struktūra ir parādīta zemāk.

  • komentārus
  • priekšapstrādātāju direktīvas
  • globālie mainīgie
  • galvenā () funkcija

{

  • vietējie mainīgie
  • paziņojumi
  • ………… ..
  • ………… ..

}

  • jautri (1)

{

  • vietējie mainīgie
  • paziņojumi
  • ………… ..
  • ………… ..

}

Programmas loģika

Programmas loģika ir joslas plāns, kas parādās teorijā un paredzamie programmas darbību rezultāti. Tas izskaidro citādi teoriju par to, kāpēc iegultā programma darbosies, un parāda darbību, citādi resursu, atzītās sekas.

Galvenais
{
LED = 0x0f
kavēšanās (100)
LED = 0x00
kavēšanās (100)
}

Iegultās C programmas galvenie faktori

Galvenie faktori, kas jāņem vērā, izvēloties programmēšanas valodu iegultās sistēmas izstrādei, ir šādi.

Programmas lielums

Katra programmēšanas valoda aizņem daļu atmiņas, kur iegultais procesors, piemēram, mikrokontrolleris, ietver ārkārtīgi maz brīvpiekļuves atmiņas.

Programmas ātrums

Programmēšanas valodai jābūt ļoti ātrai, tāpēc tai vajadzētu darboties pēc iespējas ātrāk. Iegultās aparatūras ātrumu nevajadzētu samazināt lēnām darbojošās programmatūras dēļ.

Pārnesamība

Dažādiem iegultajiem procesoriem var veikt līdzīgu programmu apkopošanu.

  • Vienkārša ieviešana
  • Vienkārša apkope
  • Lasāmība

Atšķirības starp C programmu un iegulto C programmu

Atšķirība starp iegulto C un C programmēšanu faktiski nav daudz, izņemot darbības vidi un dažus paplašinājumus. Šīs programmēšanas valodas ir ISO standarti, un tām ir arī aptuveni līdzīga sintakse, funkcijas, datu tipi utt. Galvenās atšķirības starp C programmēšanu un iegulto c programmēšanu ietver šādas.

C Valoda

Iegultā C valoda

Parasti šo valodu izmanto, lai izstrādātu darbvirsmā balstītas lietojumprogrammas

Iegulto C valodu izmanto, lai izstrādātu uz mikrokontrolleru balstītas lietojumprogrammas.
C valoda nav paplašinājums nevienai programmēšanas valodai, bet gan vispārējas nozīmes programmēšanas valodaIegultais C ir C programmēšanas valodas paplašinājums, iekļaujot dažādas funkcijas, piemēram, I / O adresēšana, fiksēto punktu aritmētika, vairāku atmiņu adresēšana utt.

Tas apstrādā vietējo attīstību dabāTas apstrādā savstarpēju attīstību dabā
Tas ir neatkarīgs no aparatūras arhitektūrasTas ir atkarīgs no mikrokontrollera un citu ierīču aparatūras arhitektūras
C valodas sastādītāji ir atkarīgi no operētājsistēmasIegultie C kompilatori nav atkarīgi no OS
C valodā standarta izpildītāji tiek izmantoti programmas izpildeiIegultā C valodā tiek izmantoti īpaši kompilatori.
Šajā valodā izmantotie kompilatori ir GCC, Borland turbo C, Intel C ++ uttŠajā valodā izmantotie populārie kompilatori ir Keil, BiPOM Electronics un green hill
C valodas formāts ir brīvā formātāTās formāts galvenokārt ir atkarīgs no izmantotā mikroprocesora veida.
Šīs valodas optimizācija ir normāla parādībaŠīs valodas optimizācija ir augsta līmeņa
To ir ļoti viegli modificēt un lasītTo nav viegli modificēt un lasīt
Kļūdu labošana ir vienkāršaŠīs valodas kļūdu labošana ir sarežģīta

Iegulto C programmu piemēri

Tālāk ir norādītas dažas vienkāršas iegultās C programmas, kas izmantotas uz mikrokontrolleru balstīti projekti .

1. piemērs

1. piemērs

2. piemērs

2. piemērs

3. piemērs

3. piemērs

4. piemērs

4. piemērs

Priekšrocības

The iegultās c programmmin priekšrocības g ietver šādas.

  • To ir ļoti vienkārši saprast.
  • Tas nepārtraukti veic līdzīgu uzdevumu, tāpēc nav jāmaina aparatūra, piemēram, papildu atmiņa, citādi glabāšanas vieta.
  • Tas izpilda vienkārši vienu uzdevumu vienlaikus
  • Iegultā c izmantotās aparatūras izmaksas parasti ir tik zemas.
  • Iegultās lietojumprogrammas ir ārkārtīgi piemērotas nozarēs.
  • Lietojumprogrammas izstrāde prasa mazāk laika.
  • Tas samazina programmas sarežģītību.
  • To ir viegli pārbaudīt un saprast.
  • Tas ir pārnēsājams no viena kontroliera uz otru.

Trūkumi

The iegultā c programmēšanas trūkumi iekļaujiet sekojošo.

  • Vienlaikus tas izpilda tikai vienu uzdevumu, bet nevar izpildīt daudzuzdevumus
  • Ja mēs mainām programmu, jāmaina arī aparatūra
  • Tas atbalsta tikai aparatūras sistēmu.
  • Tam ir problēma ar mērogojamību
  • Tam ir ierobežojums, piemēram, ierobežota atmiņa, pretējā gadījumā datora savietojamība.

Iegultās C programmas lietojumprogrammas

The iegultās c programmēšanas lietojumprogrammas iekļaujiet sekojošo.

  • Iegulto C programmēšanu nozarēs izmanto dažādiem mērķiem
  • Programmās izmantotā programmēšanas valoda ir ātruma pārbaudītājs uz šosejas, luksoforu vadība, ielu apgaismojuma vadīšana, transportlīdzekļa izsekošana, mākslīgais intelekts, mājas automatizācija un automātiskā intensitātes kontrole.

Mēs ceram, ka mums ir izdevies nodrošināt vienkāršu un pieejamu veidu iesācējiem Iegultā C programmēšana . Izpratne par iegulto C programmēšanu ir vissvarīgākais priekšnoteikums iegulto projektu projektēšanai. Papildus tam labāka izpratne un pareizas zināšanas par iegulto C programmēšanu studentiem ārkārtīgi palīdz izvēlēties atalgojošu karjeru.

Mēs iesakām un atzinīgi vērtējam mūsu lasītāju jautājumus, ierosinājumus un komentārus. Tādēļ savus jautājumus un atsauksmes par šo rakstu varat ievietot zemāk sniegtajā komentāru sadaļā. Izpildiet zemāk esošo saiti Lodēšanas projekti