LE LANGAGE “C” ADAPTÉ AU MICROCONTRÔLEURS

Telechargé par Ali BENMOUSSA
3/9/2020 LE LANGAGE “C” ADAPTÉ AU MICROCONTRÔLEURS
http://webcache.googleusercontent.com/search?q=cache:nGJbfbir‐HMJ:lmoquere.free.fr/Cours/C/C_micro_c.pdf+&cd=1&hl=fr&ct=clnk&gl=ma 1/8
CeciestlaversionHTMLdufichierhttp://lmoquere.free.fr/Cours/C/C_micro_c.pdf.LorsqueGoogleexploreleWeb,ilce
automatiquementuneversionHTMLdesdocumentsrécupérés.
Astuce:Pourtrouverrapidementvotretermederecherchesurcettepage,appuyezsurCtrl+Fousur+F(Mac),puisutilisezla
barrederecherche.
Page1
LELANGAGE“C”ADAPTÉAU
MICROCONTRÔLEURS
1.PRÉSENTATION.
Lelangage“C”afaitsonapparitionen1972pourledéveloppementdusystèmed’exploitationUnix.Ilestdevenu
unstandarddelanormeANSIen1983.Lui,ainsiquesonpetitfrèreleC++,sonttrèsutilispourle
développementd’applicationssousstationUnixetPC.
Depuisquelquesannéesilafaitsonentréedanslemondedesmicrocontrôleurs.Ilpermetdebénéficierd’un
langageuniverseletportablepratiquementindépendantduprocesseurutilisé.Ilévitelestâchesd’écritures
péniblesenlangageassembleuretélimineainsicertainessourcesd’erreurs.
2.ARCHITECTUREDUNPROGRAMMECPOURµC.
Lasaisied’unprogrammeen“Crépondpratiquementtoujoursàlamêmearchitecture.Onpeutnoterquele
symbole“#”estsuivid’unedirectivedecompilation,lesymbole“//estsuivid’uncommentaire.
#include<sdtio.h> //Directivedecompilationindiquantd’inclurelabibliothèqueE/Sstandard
#include<reg_uc.h> //Directivedecompilationindiquantd’inclurelabibliothèquespécifiqueauµC
#defineclear=0x00 //Directivedecompilationindiquantdeséquivalences
...
charval1=0xA5; //Déclarationd’unevariable“caractère”avecvaleurinitiale
intval2; //Déclarationd’unevariable“nombreentier”
...
voidtempo(chartemps)
{
...
}
//Fonctionsetprocéduresappeléesplusieursfoisdansleprogrammeprincipal
intbintobcd(charbin)
{
...
return..
}
voidmain(void) //Programmeprincipal
STAGENOVEMBRE2000 LANGAGE“C”POURµC
3/9/2020 LE LANGAGE “C” ADAPTÉ AU MICROCONTRÔLEURS
http://webcache.googleusercontent.com/search?q=cache:nGJbfbir‐HMJ:lmoquere.free.fr/Cours/C/C_micro_c.pdf+&cd=1&hl=fr&ct=clnk&gl=ma 2/8
{
DDRBA=0xFF //initialisationetconfiguration
....
while(1) //Boucleprincipale
{
...
tempo(100);
...
val2=bintobcd(val1
...
}
}
voidnmi(void)interrupt0 //Sousprogrammed’interruption
{
...
PADIOLLEAUJEANLUC PAGEM1
Page2
}
Chaqueligned’instructionsetermineparun“;.
Ledébutd’uneséquenceestprécédédusymbole“{”.
Lafind’unséquenceestsuiviedusymbole“}”.
Lanotationdesnombrespeutsefaireendécimaldefaçonnormaleouenhexadécimalaveclepréfixe“0x.
3.LESTYPESDEDONNÉESDULANGAGE“C”.
Ilexiste,danslelangage“C”,plusieurs“types”dedonnéesclassésselonleurstaillesetleursreprésentations.On
nedétailleraqueceuxutilisésdanslecadredesmicrocontrôleurs.
3.1TYPESDEBASE.
Onenrencontregénéralementtroistypesquipeuventêtresignésounonsignés.Danscederniercasla
déclarationseraprécédéedumotclé“unsigned
X
+/3,4.1038à3,4.1038
32bitsVariabledetypenombreréelfloat
32768à327670à6553616bitsVariabledetypenombreentierint
128à+1270à2558bits
Variabledetypecaractèreasciimais
utiliséepourlesnombresentiers
char
DOMAINESIGNÉDOMAINENONSIGNÉTAILLEDÉFINITIONTYPE
Remarques:Dansladéclarationdecertainesfonctions,onemploieletype“voidquisignifiequelafonction
nerenvoieoun’exigeaucunevaleur
3.2TYPESSTRUCTURÉS.
Lestypesstructuréssontenfaituneassociationdeplusieursvariablesdebasedemêmetype.Ilenexistedeux
types:
Lestypestableaudontlatailleestdéfinieex:inttableau[10];tableaude10entiers.
Lestypespointeursdontlataillen’estpasdéfinieex:char*chaine;pointeurdecacactères.
Leschainesdecaractèrespeuventêtredéfiniesparles2types.Onpréfèrecependantlepointeurpoursataille
indéfinie.
Remarque:
Lepointeurestcomparableàunregistred’indexquicontientnonpasunedonnéemaisl’adressedecette
STAGENOVEMBRE2000 LANGAGE“C”POURµC
3/9/2020 LE LANGAGE “C” ADAPTÉ AU MICROCONTRÔLEURS
http://webcache.googleusercontent.com/search?q=cache:nGJbfbir‐HMJ:lmoquere.free.fr/Cours/C/C_micro_c.pdf+&cd=1&hl=fr&ct=clnk&gl=ma 3/8
données.
L’adressed’unevariable,affectantunpointeur,s’obtientenprécédantsonnomdusymbole“&.
Unechnedecaractèreseterminetoujoursparlecaractèrenul“\0.
4.LESOPÉRATEURS.
4.1LESOPÉRATEURSARITHMÉTIQUES.
Cesopérateurspermettentd’effectuerlesopérationsarithmétiquestraditionnellee:Addition,soustraction,
multiplicationetdivisionentière.
Restedeladivisionentière%
Divisionentière/
Multiplication*
Soustraction
Addition+
FONCTIONOPÉRATEUR
PADIOLLEAUJEANLUC PAGEM2
Page3
4.2LESOPÉRATEURSDAFFECTATION.
L’opérateurindispensableaulangage“C”estl’affectationdéfiniprincipalementparlesigne“=”.Ilpermetde
chargerunevariableaveclavaleurdéfinieparuneconstanteouparuneautrevariable.Ilenexisted’autresqui,
enplusdel’affectation,effectueuneopérationarithtique.
X++équivalentà
X=X+1
Ajouter1(Incrémentation)++
Xéquivalentà
X=X1
Soustrairede1(Décrémentation)
X%=Yéquivalentà
X=X%Y
Modulo%=
X/=Yéquivalentà
X=X/Y
Diviserpar_/=
X*=Yéquivalentà
X=X*Y
Multiplierpar_*=
X=Yéquivalentà
X=XY
Soustrairede_=
X+=Yéquivalentà
X=X+Y
Additionnerde_+=
X=Y
Affectationordinaire=
EQUIVALENCEFONCTIONOPÉRATEUR
4.3LESOPÉRATEURSLOGIQUES.
Cesopérateurss’adresseuniquementauxopérationedetestconditionnel.Lerésultatdecesopérationeest
binaire:“0ou“1”.
NONlogique!
OUlogique||
ETlogique&&
FONCTIONOPÉRATEUR
4.4LESOPÉRATEURSLOGIQUESBITÀBIT.
Cesopérateursagissentsurdesmotsbinaires.Ilseffectuent,entredeuxmots,uneopérationlogiquesurles
STAGENOVEMBRE2000 LANGAGE“C”POURµC
3/9/2020 LE LANGAGE “C” ADAPTÉ AU MICROCONTRÔLEURS
http://webcache.googleusercontent.com/search?q=cache:nGJbfbir‐HMJ:lmoquere.free.fr/Cours/C/C_micro_c.pdf+&cd=1&hl=fr&ct=clnk&gl=ma 4/8
bitsdemêmerang.
Décalageàgauchedesbits<<
Décalageàdroitedesbits>>
NON~
OUexclusif^
OU|
ET&
FONCTIONOPÉRATEUR
4.5OPÉRATEURSDECOMPARAISON.
Cesopérateursrenvoientlavaleur“0silaconditionvérifiéeestfausse,sinonilsrenvoient“1”.
Inférieurouégal<=
Supérieurouégalà>=
Inférieurà<
Supérieurà>
Différentde!=
Egaleà==
FONCTIONOPÉRATEUR
PADIOLLEAUJEANLUC PAGEM3
Page4
5.LESSTRUCTURESRÉPÉTITIVES.
Lelangage“C”possèdedesinstructionspermettantderépéterplusieursfoisunemêmeséquenceenfonctionde
certainesconditions.
5.1STRUCTUREWHILE”:TANTQUE...FAIRE...
Aveccetyped’instructionlenombrederépétitionsn’estpasdéfinietdépenddurésultatdutesteffectuésurla
condition.Sicettedernièren’estjamaisvérifiée,laséquencen’estpasexécutée.
while(intx!=0)
{
...
}
Lastructureprécédenterépètelasuited’instructioncomprisesentrecrochetstantquelavariableentière“xest
différentede0.
5.2STRUCTUREDO...WHILE”:FAIRE...TANTQUE...
Cettestructureressemblefortementàlaprécédenteàlaseuledifférencequelaséquenceàrépéterestau
moinsexécuterunefoismêmesilaconditionn’estjamaisvérifiée.
do{
...
}while(intx!=0);
5.3STRUCTUREFOR”:POUR<VARIABLE>ALLANTDE<VALEURINITIALE>À<VALEURFINALE>FAIRE...
Cetteinstructionpermetderépéter,unnombredefoisdéterminé,unemêmeséquence.
STAGENOVEMBRE2000 LANGAGE“C”POURµC
3/9/2020 LE LANGAGE “C” ADAPTÉ AU MICROCONTRÔLEURS
http://webcache.googleusercontent.com/search?q=cache:nGJbfbir‐HMJ:lmoquere.free.fr/Cours/C/C_micro_c.pdf+&cd=1&hl=fr&ct=clnk&gl=ma 5/8
for(i=0;i<5;i++)
{
...
}
Lastructureprécédenterépète5foislasuited’instructioncompriseentrecrochets.Lavariable“iprendrales
valeurssuccessivesde:0,1,2,3et4.
1.LESSTRUCTURESALTERNATIVES.
Cesstructurespermettentd’exécuterdesséquencesdifférentesenfonctiondecertainesconditions.
6.1STRUCTUREIF...ELSE”:SI<CONDITION>FAIRE...SINONFAIRE...
Aveccettestructureonpeutréaliserdeuxséquencesdifférentesenfonctiondurésultatdutestsurune
condition.
if(a<b)c=ba;
elsec=ab;
Lastructureprécédenteaffectelavaleur“ba”à“c”si“a”estinférieurà“bsinon“c”estaffectéparlavaleur
“ab”.
6.2STRUCTURESWITCH...CASE”.
PADIOLLEAUJEANLUC PAGEM4
Page5
Cettestructureremplaceunesuitede“if...elseif...else”etpermetunederéaliserdifférentesséquences
appropriéesàlavaleurdelavariabletestée.
switch(a)
{
case‘1’:b=16;
case‘2’:b=8;
case‘3’:b=4;
case‘4’:b=2;
}
Danslastructureprécédente“b=16”si“a=1”,“b=8”si“a=4”etc.
2.LESFONCTIONS.
Afinderéduirelatailleduprogrammeilestsouventpréférablededéfinirsousformedefonctionunemêmesuite
d’instructionsappeléeplusd’unefoisdansleprogramme.
Lafonctionprincipald’unprogramme“C”estdéfiniegrâceaumotclé“main”.
Lesfonctionsdulangage“C”peuventrenvoyéesdesvaleursdemêmequ’ellespeuventprendreencomptedes
argumentsprovenantdelaprodured’appel.Siiln’ypasderenvoiouaucunargument,onsaisitlemotclé
void”enremplacement.
Lavaleurrenvoyéeestdéfinieaprèslemotclé“return”.
Lorsquel’onveut,dansunefonction,modifierunevariablepasséeenargumentilestobligatoired’utiliserun
pointeur.
STAGENOVEMBRE2000 LANGAGE“C”POURµC
1 / 8 100%

LE LANGAGE “C” ADAPTÉ AU MICROCONTRÔLEURS

Telechargé par Ali BENMOUSSA
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !