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 //initialisationetconfiguration
....
while(1) //Boucleprincipale
{
...
tempo(100);
...
val2=bintobcd(val1);
...
}
}
voidnmi(void)interrupt0 //Sousprogrammed’interruption
{
...
PADIOLLEAUJEANLUC PAGEM1
Page2
}
Chaqueligned’instructionsetermineparun“;”.
Ledébutd’uneséquenceestprécédédusymbole“{”.
Lafind’unséquenceestsuiviedusymbole“}”.
Lanotationdesnombrespeutsefaireendécimaldefaçonnormaleouenhexadécimalaveclepréfixe“0x”.
3.LESTYPESDEDONNÉESDULANGAGE“C”.
Ilexiste,danslelangage“C”,plusieurs“types”dedonnéesclassésselonleurstaillesetleursreprésentations.On
nedétailleraqueceuxutilisésdanslecadredesmicrocontrôleurs.
3.1TYPESDEBASE.
Onenrencontregénéralementtroistypesquipeuventêtresignésounonsignés.Danscederniercasla
déclarationseraprécédéedumotclé“unsigned”
X
+/3,4.1038à3,4.1038
32bitsVariabledetypenombreréelfloat
32768à327670à6553616bitsVariabledetypenombreentierint
128à+1270à2558bits
Variabledetypecaractèreasciimais
utiliséepourlesnombresentiers
char
DOMAINESIGNÉDOMAINENONSIGNÉTAILLEDÉFINITIONTYPE
Remarques:Dansladéclarationdecertainesfonctions,onemploieletype“void”quisignifiequelafonction
nerenvoieoun’exigeaucunevaleur
3.2TYPESSTRUCTURÉS.
Lestypesstructuréssontenfaituneassociationdeplusieursvariablesdebasedemêmetype.Ilenexistedeux
types:
▪Lestypestableaudontlatailleestdéfinieex:inttableau[10];tableaude10entiers.
▪Lestypespointeursdontlataillen’estpasdéfinieex:char*chaine;pointeurdecacactères.
Leschainesdecaractèrespeuventêtredéfiniesparles2types.Onpréfèrecependantlepointeurpoursataille
indéfinie.
Remarque:
◆Lepointeurestcomparableàunregistred’indexquicontientnonpasunedonnéemaisl’adressedecette
STAGENOVEMBRE2000 LANGAGE“C”POURµC