Kas yra įterptoji C programa ir jos struktūra pradedantiesiems

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Anksčiau daugelis įterptųjų programų buvo sukurtos naudojant surinkimo lygio programavimą. Tačiau jie nesuteikė perkeliamumo. Šis trūkumas buvo įveiktas atsiradus įvairioms aukšto lygio kalboms, tokioms kaip C, Pascal ir COBOL. Tačiau būtent C kalba įgijo įterptųjų sistemų pritarimą ir tai daro ir toliau. Parašytas C kodas yra patikimesnis, keičiamo dydžio ir nešiojamas ir iš tikrųjų daug lengviau suprantamas. Įterptasis C programavimas yra procesoriaus siela, veikianti kiekviename integruota sistema mobiliuosius telefonus, skalbimo mašinas ir skaitmeninius fotoaparatus. Kiekvienas procesorius yra susietas su įdėta programine įranga. Pirmas ir svarbiausias dalykas yra įterptoji programinė įranga, kuri nusprendžia veikti įterptojoje sistemoje. Dažniausiai naudojama įterptoji C kalba užprogramuoti mikrovaldiklį .

Kas yra C kalba?

C kalbą sukūrė Dennisas Ritchie 1969 m. Tai yra vienos ar kelių funkcijų rinkinys, o kiekviena funkcija yra teiginių, atliekančių konkrečią užduotį, rinkinys.
C kalba yra vidutinio lygio kalba, nes ji palaiko aukšto lygio ir žemo lygio programas. Prieš gilindamiesi į įterptojo C programavimo detales, turėtume žinoti apie RAM atminties organizavimą.




Pagrindiniai C kalbos bruožai yra šie.

  • C kalba yra programinė įranga, sukurta naudojant skirtingus raktinius žodžius, duomenų tipus, kintamuosius, konstantas ir kt.
  • Įterptasis C yra bendras terminas, suteiktas programavimo kalbai, parašytai C, kuris yra susietas su tam tikra aparatinės įrangos architektūra.
  • Įterptoji C yra C kalbos plėtinys su papildomais antraštės failais. Šie antraštės failai gali keistis iš valdiklio į valdiklį.
  • mikrovaldiklis 8051 Naudojamas #include.

Kas yra įterptasis C programavimas

Kiekviename įterptųjų sistemų projektuose įterptasis C programavimas vaidina pagrindinį vaidmenį, kad mikrovaldiklis veiktų ir atliktų pageidaujamus veiksmus. Šiuo metu mes paprastai naudojame kelis elektroninius prietaisus, tokius kaip mobilieji telefonai, skalbimo mašinos, apsaugos sistemos, šaldytuvai, skaitmeninės kameros ir kt. Šiuos įterptus įrenginius galima valdyti naudojant įterptąją C programą. Pvz., Jei naudojate skaitmeninę kamerą, norėdami fotografuoti paspausime kameros mygtuką, mikrovaldiklis atliks reikiamą funkciją, kad spustelėtų vaizdą ir jį išsaugotų.



Įterptasis C programavimas

Įterptasis C programavimas

Įterptasis C programavimas sukurtas naudojant funkcijų rinkinį, kur kiekviena funkcija yra sakinių rinkinys, naudojamas tam tikroms užduotims atlikti. Įterptosios C ir C kalbos yra vienodos ir įgyvendinamos naudojant kai kuriuos pagrindinius elementus, pvz., Kintamąjį, simbolių rinkinį, raktinius žodžius, duomenų tipus, kintamųjų deklaracijas, išraiškas, teiginius. Visi šie elementai vaidina pagrindinį vaidmenį rašant įterptąją C programą.

Įterptųjų sistemų dizaineriai turi žinoti apie aparatūros architektūrą, kad galėtų rašyti programas. Šios programos vaidina svarbų vaidmenį stebint ir valdant išorinius įrenginius. Jie taip pat tiesiogiai valdo ir naudoja mikrovaldiklio vidinę architektūrą, pvz., Pertraukimo valdymą, laikmačius, nuoseklųjį ryšį ir kitas galimas funkcijas.


Įterptųjų sistemų programavimas

Kaip jau aptarėme anksčiau, įdėtąją sistemą galima suprojektuoti naudojant aparatinę ir programinę įrangą. Pavyzdžiui, paprastoje įterptojoje sistemoje procesorius yra pagrindinis modulis, kuris veikia kaip sistemos širdis. Čia procesorius yra ne kas kita, o mikroprocesorius, DSP, mikrovaldiklis, CPLD ir FPGA. Visi šie procesoriai yra programuojami taip, kad apibrėžtų įrenginio veikimą.

Įterptosios sistemos programa leidžia aparatinei įrangai atitinkamai patikrinti įvestis ir valdyti išvestis. Taikant šią procedūrą, įterptoji programa gali tiesiogiai valdyti procesoriaus vidinę architektūrą, pavyzdžiui, laikmačiai, pertraukimo valdymas, įvesties / išvesties prievadai, nuosekliojo ryšio sąsaja ir kt.

Taigi įdėtosios sistemos programavimas procesoriui yra labai svarbus. Įterptosioms sistemoms yra skirtingos programavimo kalbos, tokios kaip C, C ++, surinkimo kalba, JAVA, JAVA scenarijus, „Visual basic“ ir kt. Taigi ši programavimo kalba vaidina pagrindinį vaidmenį kuriant įterptąją sistemą, tačiau labai svarbu pasirinkti kalbą.

Įterptosios C programos sukūrimo veiksmai

Kuriant įterptąją „c“ programą, reikia atlikti įvairius veiksmus, pavyzdžiui, šiuos.

  • Komentarai
  • Procesoriaus direktyvos
  • Uosto konfigūracija
  • Visuotiniai kintamieji
  • Pagrindinė funkcija / pagrindinė funkcija
  • Kintamojo deklaracija
  • Programos logika

Komentarai

Programavimo kalbomis komentarai yra labai svarbūs norint apibūdinti programos funkciją. Komentarų kodas nevykdomas, tačiau naudojamas programos dokumentams pateikti. Norėdami suprasti programos funkciją, tai bus paprastas būdas suprasti programos funkciją. Įterptame C komentarai yra dviejų tipų, būtent vienos eilutės ir pagrindinės pastabos.

Įterptoje C programavimo kalboje mes galime įdėti komentarus į savo kodą, kurie padeda skaitytojui lengvai suprasti kodą.

C = a + b / * pridėti du kintamuosius, kurių vertė saugoma kitame kintamajame C * /

Vienos eilutės komentaras

Paprastai programavimo kalboms vienos eilutės komentarai yra labai naudingi norint paaiškinti dalį programos. Šie komentarai prasideda dvigubu pasviruoju brūkšniu (//) ir gali būti bet kur programavimo kalboje. Naudojant tai, programoje galima nepaisyti visos eilutės.

Kelių eilučių komentaras

Kelių eilučių komentarai prasideda vienu pasviruoju brūkšniu (/) ir žvaigždute (/ *) programavimo kalbomis, kuris paaiškina kodo bloką. Tokio tipo komentarai gali būti išdėstyti bet kurioje programavimo kalbos vietoje ir daugiausia naudojami norint ignoruoti visą programos kodą.

Procesoriaus direktyvos

Eilės, įtrauktos į programos kodą, vadinamos pirminio procesoriaus direktyvomis, kurias galima sekti per maišos simbolį (#). Šios eilutės yra pirminio procesoriaus direktyvos, bet ne užprogramuoti teiginiai.
Kodas gali būti išnagrinėtas per išankstinį procesorių prieš pradedant tikrojo kodo kompiliavimą ir išsprendus šias direktyvas, prieš generuojant kodą naudojant įprastus teiginius. Yra keletas specialių paruošiamųjų procesorių direktyvų, nors dvi direktyvos yra labai naudingos programavimo kalboje

kaip šis.

# įtraukti
# įtraukti
„Sbit“ šviesos diodas = P2 ^ 3
Pagrindinis ()
{
LED = 0x0ff
Delsimas()
LED = 0x00
}
#apibrėžti
# įtraukti
#define LED P0
Pagrindinis ()
{
LED = 0x0ff
Delsimas()
LED = 0x00
}

Ankstesnėje programoje #include direktyva paprastai naudojama sudarant standartines bibliotekas, tokias kaip „study“ ir „. h naudojamas leisti įvesties / išvesties funkcijoms naudojant „C“ biblioteką. #Define direktyva paprastai naudojama apibūdinti kintamųjų serijas ir paskirstyti reikšmes vykdant procesą tam tikroje instrukcijoje, pavyzdžiui, makrokomandose.

Uosto konfigūracija

Mikrovaldiklį sudaro keli prievadai, kuriuose kiekviename prievade yra skirtingi kaiščiai. Šie kaiščiai gali būti naudojami sąsajos įtaisams valdyti. Šiuos kaiščius galima deklaruoti programoje, naudojant raktinius žodžius. Įterptosios „c“ programos raktiniai žodžiai yra standartiniai, taip pat iš anksto apibrėžti, pvz., „Bit“, „sbit“, „SFR“, kurie naudojami programos bitams ir vieno smeigtuko nurodymui.

Yra tam tikrų žodžių, kurie yra skirti atlikti konkrečias užduotis. Šie žodžiai yra žinomi kaip raktiniai žodžiai. Jie yra standartiniai ir iš anksto apibrėžti „Embedded C.“. Raktiniai žodžiai visada rašomi mažosiomis raidėmis. Šie raktiniai žodžiai turi būti apibrėžti prieš rašant pagrindinę programą. Pagrindinės raktinių žodžių funkcijos yra šios.

# įtraukti
Sbit a = P 2 ^ 2
SFR 0x00 = PoRT0
C bitas
pagrindinis ()
{
…………… ..
…………… ..
}

sbit

Tai yra vienos rūšies duomenų tipas, naudojamas norint pasiekti vieną bitą SFR registre.

Šio tipo duomenų sintaksė yra: sbit kintamojo vardas = SFR bitas

Pavyzdys: sbit a = P2 ^ 1

Jei kintamuoju priskirsime p2.1, tada bet kurioje programos vietoje vietoje p2.1 galime naudoti „a“, o tai sumažina programos sudėtingumą.

Bit

Šio tipo duomenys dažniausiai naudojami leidžiant laisvosios kreipties atminties, tokios kaip 20h - 2fh, adresinę atmintį.

Šio tipo duomenų sintaksė yra: bitų kintamųjų pavadinimas

Pavyzdys: bitai c

Tai šiek tiek serijų nustatymas mažame duomenų regione, kuris dažniausiai naudojamas programai norint ką nors įsiminti.

SFR

Šis duomenų tipas naudojamas norint gauti SFR registro periferinius prievadus naudojant papildomą pavadinimą. Taigi visus SFR registrus galima deklaruoti didžiosiomis raidėmis.

Šio tipo duomenų sintaksė yra tokia: SFR kintamojo vardas = SFR registro SFR adresas

Pavyzdys: SFR prievadas0 = 0 × 80

Jei paskirstysime 0 × 80 kaip „port0“, po to galime naudoti 0 × 80 vietoje port0, kad ir kur būtų programavimo kalba, kad sumažintume programos sunkumus.

SFR registras

SFR reiškia Specialiųjų funkcijų registrą. 8051 mikrovaldiklyje yra RAM atmintis su 256 baitais, kuri yra padalinta į du pagrindinius elementus: pirmasis 128 baitų elementas daugiausia naudojamas duomenims saugoti, o kitas 128 baitų elementas daugiausia naudojamas SFR registrams. Visi išoriniai įrenginiai, tokie kaip laikmačiai, skaitikliai ir įvesties / išvesties prievadai, saugomi SFR registre, o kiekviename elemente yra vienas adresas.

Visuotiniai kintamieji

Kai kintamasis yra deklaruojamas, kol pagrindinė funkcija vadinama visuotiniu kintamuoju. Šį kintamąjį galima leisti bet kuriai programos funkcijai. Visuotinio kintamojo gyvenimo trukmė daugiausia priklauso nuo programavimo, kol jis pasieks pabaigą.

# įtraukti
Nepasirašytas int a, c = 10
Pagrindinis ()
{
……………
………… ..
}

Pagrindinė funkcija / pagrindinė funkcija

Pagrindinė funkcija yra centrinė dalis vykdant bet kurią programą, ir ji paprastai prasideda nuo pagrindinės funkcijos. Kiekviena programa naudoja tik vieną pagrindinę funkciją, nes jei programa apima aukščiau nei vieną pagrindinę funkciją, kita kompiliatorius bus supainiotas pradėdamas vykdyti programą.

# įtraukti
Pagrindinis ()
{
……………
………… ..
}

Kintamojo deklaracija

Vertėms saugoti naudojamas toks pavadinimas kaip kintamasis, tačiau šį kintamąjį pirmiausia reikia deklaruoti prieš jį naudojant programoje. Kintamojo deklaracijoje nurodomas jo pavadinimas ir duomenų tipas. Čia duomenų tipas yra ne kas kita, o saugojimo duomenų atvaizdavimas. Įterptosios C programavimo metu jis naudoja keturis pagrindinius duomenų tipus, tokius kaip sveikasis skaičius, plūduriuojantis simbolis, duomenims saugoti atmintyje. Duomenų tipo dydį, taip pat diapazoną, galima nustatyti atsižvelgiant į kompiliatorių.

Duomenų tipas reiškia išsamią sistemą, skirtą deklaruoti įvairių tipų kintamuosius, tokius kaip sveikasis skaičius, simboliai, plūduriuojantis elementas ir kt. Įterptoji C programinė įranga naudoja keturis duomenų tipus, kurie naudojami duomenims saugoti atmintyje.

Ženklas „char“ naudojamas bet kokiam atskiram simboliui saugoti. „Int“ naudojamas sveikojo skaičiaus vertei saugoti, o „float“ - bet kokiai tikslumo slankiojo kablelio vertei saugoti. Skirtingų duomenų tipų dydis ir diapazonas 32 bitų mašinoje pateikiami šioje lentelėje. Skirtingų žodžių dydžių mašinose dydis ir diapazonas gali skirtis.

  • Char / sign char char tipo duomenų dydis yra 1 baitas, o jo diapazonas yra nuo -128 iki +128
  • Nepasirašyto simbolio duomenų tipo dydis yra 1 baitas, o jo diapazonas yra nuo 0 iki 255
  • Int / pasirašytas int duomenų tipo dydis yra 2 baitai, o jo diapazonas yra nuo -32768 iki 32767
  • Nepasirašyto int duomenų tipo dydis yra 2 baitai, o jo diapazonas yra nuo 0 iki 65535

Pagrindinis ()
{
Nepasirašytas int a, b, c
}

Įterptosios C programos struktūra parodyta žemiau.

  • komentarus
  • išankstinio apdorojimo instrukcijos
  • visuotiniai kintamieji
  • pagrindinė () funkcija

{

  • vietiniai kintamieji
  • pareiškimus
  • ………… ..
  • ………… ..

}

  • linksma (1)

{

  • vietiniai kintamieji
  • pareiškimus
  • ………… ..
  • ………… ..

}

Programos logika

Programos logika yra juostos planas, atsirandantis teorijoje už & numatomus programos veiksmų rezultatus. Jame paaiškinama kitaip teorija apie tai, kodėl įterptoji programa veiks, ir parodomas pripažintas veiksmų, kitaip išteklių, poveikis.

Pagrindinis
{
LED = 0x0f
vėlavimas (100)
LED = 0x00
vėlavimas (100)
}

Pagrindiniai įterptosios C programos veiksniai

Pagrindiniai veiksniai, į kuriuos reikia atsižvelgti renkantis programavimo kalbą kuriant įterptąją sistemą, yra šie.

Programos dydis

Kiekviena programavimo kalba užima tam tikrą atmintį, kurioje įterptasis procesorius, pvz., Mikrovaldiklis, apima ypač mažai laisvosios kreipties atminties.

Programos greitis

Programavimo kalba turėtų būti labai greita, todėl turėtų veikti kuo greičiau. Įdėtos aparatūros greitis neturėtų būti sumažintas dėl lėtai veikiančios programinės įrangos.

Perkeliamumas

Skirtingiems įterptiesiems procesoriams galima sudaryti panašias programas.

  • Paprastas įgyvendinimas
  • Paprasta priežiūra
  • Skaitomumas

Skirtumai tarp C programos ir įterptosios C programos

Skirtumas tarp įterptųjų C ir C programų iš tikrųjų nėra daug, išskyrus operacinę aplinką ir kai kuriuos plėtinius. Šios programavimo kalbos yra ISO standartai, be to, jų sintaksė, funkcijos, duomenų tipai ir pan. Yra panašūs. Pagrindiniai C programavimo ir įterptojo c programavimo skirtumai yra šie.

C Kalba

Įterptoji C kalba

Paprastai ši kalba naudojama kuriant darbalaukio programas

Įterptoji C kalba naudojama kurti mikrovaldikliais pagrįstas programas.
C kalba nėra bet kurios programavimo kalbos pratęsimas, o bendros paskirties programavimo kalbaĮterptoji C yra C programavimo kalbos plėtinys, apimantis įvairias savybes, tokias kaip įvesties / išvesties adresavimas, fiksuoto taško aritmetika, adresavimas daugeliu atminties ir kt.

Jis apdoroja vietinį vystymąsi gamtojeJis apdoroja kryžminį vystymąsi gamtoje
Tai nepriklauso nuo aparatūros architektūrosTai priklauso nuo mikrovaldiklio ir kitų įrenginių aparatinės įrangos architektūros
C kalbos sudarytojai priklauso nuo operacinės sistemosĮterptieji C kompiliatoriai nepriklauso nuo OS
C kalba standartiniai kompiliatoriai naudojami programai vykdytiĮterptojoje C kalboje naudojami konkretūs kompiliatoriai.
Populiariausi šioje kalboje naudojami kompiliatoriai yra GCC, Borland turbo C, Intel C ++ ir ktPopuliariausi kompiliatoriai, vartojami šia kalba, yra „Keil“, „BiPOM Electronics“ ir „green hill“
C kalbos formatas yra laisvo formatoJo formatas daugiausia priklauso nuo naudojamo mikroprocesoriaus rūšies.
Šios kalbos optimizavimas yra normalus dalykasŠios kalbos optimizavimas yra aukštas lygis
Tai labai lengva modifikuoti ir skaitytiTai nėra lengva modifikuoti ir perskaityti
Klaidas lengva pašalintiŠios kalbos klaidų taisymas yra sudėtingas

Įterptosios C programos pavyzdžiai

Toliau pateikiamos kelios paprastos „Embedded C“ programos, naudojamos mikrovaldikliu paremti projektai .

1 pavyzdys

1 pavyzdys

2 pavyzdys

2 pavyzdys

3 pavyzdys

3 pavyzdys

4 pavyzdys

4 pavyzdys

Privalumai

įdėto c programmin privalumai g apima šiuos dalykus.

  • Tai labai paprasta suprasti.
  • Jis nuolat atlieka panašią užduotį, todėl nereikia keisti aparatūros, pvz., Papildomos atminties, kitaip vietos.
  • Jis vienu metu vykdo tiesiog vieną užduotį
  • Įterptojoje c naudojama aparatūros kaina paprastai yra tokia maža.
  • Įterptosios programos yra labai tinkamos pramonėje.
  • Taikymo programos sukūrimas užima mažiau laiko.
  • Tai sumažina programos sudėtingumą.
  • Tai lengva patikrinti ir suprasti.
  • Jis yra nešiojamas iš vieno valdiklio į kitą.

Trūkumai

įterptojo c programavimo trūkumai įtraukti šiuos dalykus.

  • Vienu metu ji vykdo tik vieną užduotį, tačiau negali atlikti kelių užduočių
  • Jei pakeisime programą, reikia pakeisti ir aparatinę įrangą
  • Jis palaiko tik aparatinę sistemą.
  • Tai turi mastelio problemą
  • Jis turi tokį apribojimą, kaip ribota atmintis, kitaip kompiuterio suderinamumas.

Įterptosios C programos programos

įterptojo c programavimo programos įtraukti šiuos dalykus.

  • Įterptasis C programavimas pramonėje naudojamas įvairiems tikslams
  • Programose naudojama programavimo kalba yra greičio tikrintuvas greitkelyje, šviesoforų valdymas, gatvių žibintų valdymas, transporto priemonės sekimas, dirbtinis intelektas, namų automatika ir automatinis intensyvumo valdymas.

Tikimės, kad mums pavyko suteikti lengvą ir prieinamą kelią pradedantiesiems Įterptasis C programavimas . Suprasti įterptojo C programavimą yra esminė sąlyga kuriant įterptinius projektus. Be to, geresnis supratimas ir tinkamos žinios apie įterptąjį C programavimą labai padeda studentams pasirinkti naudingą karjerą.

Mes skatiname ir laukiame mūsų skaitytojų klausimų, pasiūlymų ir komentarų. Todėl savo klausimus ir atsiliepimus apie šį straipsnį galite paskelbti toliau pateiktame komentarų skyriuje. Spustelėkite toliau pateiktą nuorodą Projektai be lydmetalio