Hvad er et indlejret C-program og dets struktur for begyndere

Hvad er et indlejret C-program og dets struktur for begyndere

Tidligere blev mange indlejrede applikationer udviklet ved hjælp af programmering på forsamlingsniveau. De leverede dog ikke bærbarhed. Denne ulempe blev overvundet ved fremkomsten af ​​forskellige sprog på højt niveau som C, Pascal og COBOL. Det var imidlertid C-sproget, der fik omfattende accept af indlejrede systemer, og det fortsætter med at gøre det. Den skrevne C-kode er mere pålidelig, skalerbar og bærbar og faktisk meget lettere at forstå. Indlejret C-programmering er processoren, der fungerer inde i hver eneste integreret system vi støder på i vores daglige liv, såsom mobiltelefoner, vaskemaskiner og digitale kameraer. Hver processor er tilknyttet integreret software. Den første og fremmeste ting er den integrerede software, der beslutter at fungere i det integrerede system. Indlejret C-sprog bruges ofte til programmer mikrokontrolleren .



Hvad er C-sprog?

C-sprog blev udviklet af Dennis Ritchie i 1969. Det er en samling af en eller flere funktioner, og hver funktion er en samling udsagn, der udfører en bestemt opgave.
C-sprog er et mellemniveau sprog, da det understøtter applikationer på højt niveau og applikationer på lavt niveau. Før vi går ind i detaljerne i indlejret C-programmering, skal vi vide om RAM-hukommelsesorganisation.


Hovedfunktionerne i C-sproget inkluderer følgende.





  • C-sprog er software designet med forskellige nøgleord, datatyper, variabler, konstanter osv.
  • Indlejret C er et generisk udtryk, der gives til et programmeringssprog skrevet i C, som er forbundet med en bestemt hardwarearkitektur.
  • Embedded C er en udvidelse til C-sproget med nogle ekstra headerfiler. Disse headerfiler kan skifte fra controller til controller.
  • Det mikrocontroller 8051 #include bruges.

Hvad er en integreret C-programmering

I alle integrerede systembaserede projekter spiller Embedded C programmering en nøglerolle for at få mikrocontrolleren til at køre og udføre de foretrukne handlinger. På nuværende tidspunkt bruger vi normalt flere elektroniske enheder som mobiltelefoner, vaskemaskiner, sikkerhedssystemer, køleskabe, digitale kameraer osv. Styringen af ​​disse indlejrede enheder kan ske ved hjælp af et indlejret C-program. For eksempel i et digitalt kamera, hvis vi trykker på en kameraknap for at tage et foto, udfører mikrocontrolleren den nødvendige funktion for at klikke på billedet såvel som til at gemme det.

Integreret C-programmering

Integreret C-programmering



Indbygget C-programmering bygger med et sæt funktioner, hvor hver funktion er et sæt udsagn, der bruges til at udføre bestemte opgaver. Både de indlejrede C- og C-sprog er de samme og implementeres gennem nogle grundlæggende elementer som en variabel, tegnsæt, nøgleord, datatyper, erklæring om variabler, udtryk, udsagn. Alle disse elementer spiller en nøglerolle, mens du skriver et indlejret C-program.

De integrerede systemdesignere skal kende til hardwarearkitekturen til at skrive programmer. Disse programmer spiller en fremtrædende rolle i overvågning og styring af eksterne enheder. De betjener og bruger også mikrocontrollerens interne arkitektur, såsom afbrydelse af håndtering, timere, seriel kommunikation og andre tilgængelige funktioner.


Integreret systemprogrammering

Som vi diskuterede tidligere, kan design af et integreret system udføres ved hjælp af hardware og software. For eksempel er processoren i et simpelt integreret system det vigtigste modul, der fungerer som hjertet i systemet. Her er en processor intet andet end en mikroprocessor, DSP, mikrocontroller, CPLD & FPGA. Alle disse processorer er programmerbare, så det definerer enhedens funktion.

Et integreret systemprogram giver hardware mulighed for at kontrollere input og styre output i overensstemmelse hermed. I denne procedure skal det integrerede program muligvis styre processorens interne arkitektur direkte som timere, afbrydelse af håndtering, I / O-porte, seriel kommunikationsinterface osv.

Så integreret systemprogrammering er meget vigtigt for processoren. Der er forskellige programmeringssprog til rådighed for indlejrede systemer som C, C ++, monteringssprog, JAVA, JAVA script, visual basic osv. Så dette programmeringssprog spiller en nøglerolle, mens man laver et integreret system, men det er meget vigtigt at vælge sprog.

Trin til at opbygge et integreret C-program

Der er forskellige trin involveret i designet af et indlejret c-program som det følgende.

  • Kommentarer
  • Direktiver fra Processor
  • Konfiguration af havn
  • Globale variabler
  • Kernefunktion / hovedfunktion
  • Erklæring om variabel
  • Programmets logik

Kommentarer

På programmeringssprog er kommentarer meget vigtige for at beskrive programmets funktion. Kommentarens kode er ikke-eksekverbar, men bruges til at levere programdokumentation. For at forstå programmets funktion vil dette gøre en enkel metode til at forstå programmets funktion. I indlejret C er kommentarer tilgængelige i to typer, nemlig enkeltlinje og hovedlinjekommentar.

På et integreret C-programmeringssprog kan vi placere kommentarer i vores kode, som hjælper læseren med at forstå koden let.

C = a + b / * tilføj to variabler, hvis værdi er gemt i en anden variabel C * /

Kommentar til en enkelt linje

Generelt for programmeringssprogene er kommentarer i en linje meget nyttige til at afklare en brøkdel af programmet. Disse kommentarer begynder med et dobbelt skråstreg (//), og de kan placeres hvor som helst inden for programmeringssproget. Ved at bruge dette kan hele linjen ignoreres i et program.

Multi-line kommentar

Multi-line kommentarer begynder med et enkelt skråstreg (/) og en stjerne (/ *) på programmeringssprogene, der forklarer en blok af kode. Disse typer kommentarer kan arrangeres hvor som helst inden for programmeringssproget og bruges hovedsagelig til at ignorere en hel blok kode i et program.

Direktiver fra Processor

Linjerne indeholdt i programkoden kaldes forprocessordirektiver, som kan følges gennem et hash-symbol (#). Disse linjer er forprocessordirektiverne, men ikke programmerede udsagn.
Koden kan undersøges gennem en forprocessor, før den rigtige kodekompilering starter og løser disse direktiver, før de genererer en kode gennem regelmæssige udsagn. Der er flere specielle præprocessordirektiver er tilgængelige, selvom to direktiver er yderst nyttige inden for programmeringssprog

som følgende.

#omfatte
#omfatte
Sbit LED = P2 ^ 3
Vigtigste ()
{
LED = 0x0ff
Forsinke()
LED = 0x00
}
#Definere
#omfatte
#definer LED P0
Vigtigste ()
{
LED = 0x0ff
Forsinke()
LED = 0x00
}

I ovenstående program bruges #include-direktivet generelt til at omfatte standardbiblioteker som undersøgelse og. h bruges til at tillade I / O-funktioner ved hjælp af biblioteket med 'C'. #Define-direktivet bruges normalt til at beskrive rækken af ​​variabler og tildeler værdierne ved at udføre processen inden for en bestemt instruktion som makroer.

Konfiguration af havn

Mikrocontrolleren inkluderer flere porte, hvor hver port har forskellige ben. Disse ben kan bruges til at styre grænsefladesenhederne. Erklæringen af ​​disse stifter kan udføres inden for et program ved hjælp af nøgleord. Nøgleordene i det indlejrede c-program er standard såvel som foruddefinerede som en bit, sbit, SFR, som bruges til at angive bits & enkeltstift i et program.

Der er visse ord, der er forbeholdt udførelse af specifikke opgaver. Disse ord er kendt som nøgleord. De er standard og foruddefineret i Embedded C. Nøgleord skrives altid med små bogstaver. Disse nøgleord skal defineres, før hovedprogrammet skrives. Nøgleordets hovedfunktioner inkluderer følgende.

#omfatte
Sbit a = P 2 ^ 2
SFR 0x00 = PoRT0
Bit C
hoved ()
{
…………… ..
…………… ..
}

sbit

Dette er en slags datatype, der bruges til at få adgang til en enkelt bit i et SFR-register.

Syntaksen for denne datatype er: sbit-variabelnavn = SFR-bit

Eksempel: sbit a = P2 ^ 1

Hvis vi tildeler p2.1 som 'a' -variabel, kan vi bruge 'a' i stedet for p2.1 hvor som helst i programmet, hvilket reducerer programmets kompleksitet.

Bit

Denne type datatype bruges hovedsageligt til at tillade den bitadresserbare hukommelse af tilfældig adgangshukommelse som 20h til 2fh.

Syntaksen for denne datatype er: navnet på bitvariablen

Eksempel: bit c

Det er en bit serieindstilling inden for et lille dataregion, der hovedsageligt bruges ved hjælp af et program til at huske noget.

SFR

Denne type datatype bruges til at opnå de perifere porte i SFR-registret gennem et yderligere navn. Så deklarationen af ​​alle SFR-registre kan ske med store bogstaver.

Syntaksen for denne datatype er: SFR-variabelnavn = SFR-adresse for SFR-register

Eksempel: SFR-port0 = 0 × 80

Hvis vi tildeler 0 × 80 som 'port0', kan vi derefter bruge 0 × 80 i stedet for port0 overalt i programmeringssprog for at mindske programmets vanskelighed.

SFR-register

SFR står for Special Function Register. I 8051-mikrocontroller inkluderer den RAM-hukommelse med 256 byte, som er opdelt i to hovedelementer: det første element på 128 byte bruges hovedsageligt til lagring af data, mens det andet element på 128 byte hovedsageligt bruges til SFR-registre. Alle de perifere enheder såsom timere, tællere og I / O-porte er gemt i SFR-registeret, og hvert element inkluderer en enkelt adresse.

Globale variabler

Når variablen erklæres før nøglefunktionen er kendt som den globale variabel. Denne variabel kan tillades på enhver funktion i programmet. Den globale variabels levetid afhænger hovedsageligt af programmeringen, indtil den slutter.

#omfatte
Usigneret int a, c = 10
Vigtigste ()
{
……………
………… ..
}

Kernefunktion / hovedfunktion

Hovedfunktionen er en central del under udførelsen af ​​ethvert program, og den begynder med hovedfunktionen simpelthen. Hvert program bruger simpelthen en hovedfunktion, da hvis programmet indeholder over en hovedfunktion, vil kompilatoren næste blive forvirret, når programmet starter.

#omfatte
Vigtigste ()
{
……………
………… ..
}

Erklæring om variabel

Navnet som variablen bruges til lagring af værdierne, men denne variabel skal først erklæres, inden den bruges i programmet. Den variable erklæring angiver sit navn såvel som en datatype. Her er datatypen intet andet end repræsentationen af ​​lagerdata. I indlejret C-programmering bruger den fire grundlæggende datatyper som heltal, float, tegn til lagring af data i hukommelsen. Datatypestørrelsen såvel som rækkevidden kan defineres afhængigt af compileren.

Datatypen refererer til et omfattende system til at deklarere variabler af forskellige typer som heltal, karakter, float osv. Den integrerede C-software bruger fire datatyper, der bruges til at gemme data i hukommelsen.

'Char' bruges til at gemme et enkelt tegn, 'int' bruges til at gemme heltal, og 'float' bruges til at gemme enhver præcisionsværdi for flydende punkt. Størrelsen og rækkevidden for forskellige datatyper på en 32-bit maskine er angivet i følgende tabel. Størrelse og rækkevidde kan variere på maskiner med forskellige ordstørrelser.

  • Char / signeret char datatypestørrelse er 1 byte og dens rækkevidde er fra -128 til +128
  • Den usignerede char-datatypestørrelse er 1 byte, og dens rækkevidde er fra 0 til 255
  • Int / signeret int-datatypestørrelse er 2 byte, og dens rækkevidde er fra -32768 til 32767
  • Usigneret int-datatypestørrelse er 2 byte, og dens rækkevidde er fra 0 til 65535

Vigtigste ()
{
Usigneret int a, b, c
}

Strukturen i et indlejret C-program er vist nedenfor.

  • kommentarer
  • præprocessor direktiver
  • globale variabler
  • main () funktion

{

  • lokale variabler
  • udsagn
  • ………… ..
  • ………… ..

}

  • sjov (1)

{

  • lokale variabler
  • udsagn
  • ………… ..
  • ………… ..

}

Programmets logik

Programmets logik er en plan for banen, der vises i teorien bag & forudsigelige output af programmets handlinger. Det forklarer udsagnets ellers teori om, hvorfor det integrerede program fungerer, og viser de anerkendte effekter af handlinger ellers ressourcer.

Vigtigste
{
LED = 0x0f
forsinkelse (100)
LED = 0x00
forsinkelse (100)
}

Hovedfaktorer for Embedded C Program

De vigtigste faktorer, der skal overvejes, når du vælger programmeringssprog til udvikling af et integreret system, inkluderer følgende.

Programstørrelse

Hvert programmeringssprog optager noget hukommelse, hvor integreret processor som mikrokontroller indeholder en ekstremt mindre mængde tilfældig adgangshukommelse.

Programmets hastighed

Programmeringssproget skal være meget hurtigt, så det skal køre så hurtigt som muligt. Hastigheden på integreret hardware bør ikke reduceres på grund af den langsomt kørende software.

Bærbarhed

For de forskellige integrerede processorer kan kompilering af lignende programmer gøres.

  • Enkel implementering
  • Enkel vedligeholdelse
  • Læsbarhed

Forskelle mellem C-program og Embedded C-program

Forskellen mellem indlejret C- og C-programmering er faktisk ikke meget bortset fra driftsmiljøet og nogle udvidelser. Disse programmeringssprog er ISO-standarder og har også omtrent samme syntaks, funktioner, datatyper osv. De vigtigste forskelle mellem C-programmering og indlejret c-programmering inkluderer følgende.

C Sprog

Indlejret C-sprog

Generelt bruges dette sprog til at udvikle desktop-baserede applikationer

Embedded C sprog bruges til at udvikle mikrocontroller-baserede applikationer.
C-sprog er ikke en udvidelse til noget programmeringssprog, men et programmeringssprog til generelle formålEmbedded C er en udvidelse til C-programmeringssproget, der inkluderer forskellige funktioner såsom adressering af I / O, fastpunktsaritmetik, adressering med flere hukommelser osv.

Det behandler naturlig udvikling i naturenDet behandler krydsudvikling i naturen
Det er uafhængigt af hardware-arkitekturDet afhænger af hardwarearkitekturen til mikrokontrolleren og andre enheder
Kompilatorerne til C-sprog afhænger af operativsystemetIndlejrede C-compilere er OS-uafhængige
På C-sprog bruges standardcompilerne til at udføre et programI det indlejrede C-sprog bruges specifikke compilers.
De populære kompilatorer, der bruges på dette sprog, er GCC, Borland turbo C, Intel C ++ osvDe populære kompilatorer, der bruges på dette sprog, er Keil, BiPOM Electronics & green hill
Formatet for C-sprog er frit formatDens format afhænger hovedsageligt af den anvendte mikroprocessor.
Optimering af dette sprog er normaltOptimering af dette sprog er et højt niveau
Det er meget let at ændre og læseDet er ikke let at ændre og læse
Fejlfinding er letFejlrettelse af dette sprog er kompliceret

Embedded C Program Eksempler

Følgende er et par enkle Embedded C-programmer, der bruges til mikrocontroller-baserede projekter .

Eksempel 1

Eksempel 1

Eksempel 2

Eksempel 2

Eksempel 3

Eksempel 3

Eksempel 4

Eksempel 4

Fordele

Det fordele ved embedded c programmin g inkluderer følgende.

  • Det er meget simpelt at forstå.
  • Det udfører løbende en lignende opgave, så der er ikke noget krav for at ændre hardware som ekstra hukommelse ellers lagerplads.
  • Det udfører blot en enkelt opgave på én gang
  • Omkostningerne ved den hardware, der bruges i det indlejrede c, er typisk så meget lave.
  • Anvendelserne af embedded er yderst passende i industrier.
  • Det tager kortere tid at udvikle et applikationsprogram.
  • Det reducerer programmets kompleksitet.
  • Det er let at kontrollere og forstå.
  • Det er bærbart fra en controller til en anden.

Ulemper

Det ulemper ved indlejret c-programmering inkluderer følgende.

  • Ad gangen udfører den kun en opgave, men kan ikke udføre multitaskerne
  • Hvis vi ændrer programmet, skal vi også skifte hardware
  • Det understøtter kun hardwaresystemet.
  • Det har et skalerbarhedsproblem
  • Det har en begrænsning som begrænset hukommelse, ellers er computeren kompatibel.

Anvendelser af Embedded C Program

Det applikationer af indlejret c programmering inkluderer følgende.

  • Embedded C programmering bruges i industrier til forskellige formål
  • Programmeringssproget, der bruges i applikationerne, er hastighedskontrol på motorvejen, styring af trafiklys, styring af gadebelysning, sporing af køretøjet, kunstig intelligens, hjemmeautomatisering og automatisk intensitetskontrol.

Vi håber, at vi har haft succes med at give en nem og tilgængelig måde for begyndere på Indlejret C-programmering . Forståelse af Embedded C programmering er den mest essentielle forudsætning for at designe indlejrede baserede projekter. Derudover hjælper en bedre forståelse og korrekt viden om indlejret C-programmering studerende enormt i valget af en givende karriere.

Vi opfordrer og byder velkommen til forespørgsler, forslag og kommentarer fra vores læsere. Derfor kan du sende dine forespørgsler og feedback om denne artikel i kommentarfeltet nedenfor. Følg nedenstående link for Loddefri projekter