TP n°2 Timer PWM F446 - ENSEA · Architecture des systèmes à microprocesseur TP n°2 : Timer /...

20
M1-Archi 2016-2017 Page 1 ___________________________________________________________________________ Architecture des systèmes à microprocesseur TP n°2 : Timer / génération de signal PWM ___________________________________________________________________________ Objectifs de la séance -Compréhension du fonctionnement du Timer -Programmation des registres du Timer -Savoir générer un signal PWM à partir du Timer ___________________________________________________________________________ Matériel requis : -Une plateforme nucleo-board STM32F446RE par binôme ___________________________________________________________________________ Organisation de la séance : 1) Description du Timer et de ses registres 2) Configuration du projet sous STM32CubeMX 3) Génération d’un signal d’horloge 4) Génération d’un signal PWM 5) Conclusion / Bilan Tout au long de ce TP, des questions vous sont posées. Prenez le temps d’y répondre et de prendre des notes. ___________________________________________________________________________ I. Introduction Lors de cette séance, vous allez mettre en œuvre un périphérique incontournable des microcontrôleurs, le timer. Le timer est un compteur configurable de 16 ou 32 bits permettant de délivrer une base de temps, servant généralement de référence dans toutes sortes d’applications. Le STM32F446RE possède 17 timers ; dont 12 de 16 bits et 2 de 32 bits, les 3 restants étant dédiés au SysTick et à 2 watchdog 1 . 1 Documentation complète du STM32F446RE disponible ici (début page 446): http://www.st.com/content/ccc/resource/technical/document/reference_manual/4d/ed/bc/89/b5/70/40/dc/DM0013518 3.pdf/files/DM00135183.pdf/jcr:content/translations/en.DM00135183.pdf Documentation des timers des STM32 : http://www.st.com/content/ccc/resource/technical/document/application_note/group0/91/01/84/3f/7c/67/41/3f/DM002 36305/files/DM00236305.pdf/jcr:content/translations/en.DM00236305.pdf

Transcript of TP n°2 Timer PWM F446 - ENSEA · Architecture des systèmes à microprocesseur TP n°2 : Timer /...

M1-Archi 2016-2017 Page1

___________________________________________________________________________

ArchitecturedessystèmesàmicroprocesseurTPn°2:Timer/générationdesignalPWM

___________________________________________________________________________

Objectifsdelaséance-CompréhensiondufonctionnementduTimer-ProgrammationdesregistresduTimer-SavoirgénérerunsignalPWMàpartirduTimer

___________________________________________________________________________

Matérielrequis: -Uneplateformenucleo-boardSTM32F446REparbinôme___________________________________________________________________________Organisationdelaséance:

1) DescriptionduTimeretdesesregistres2) ConfigurationduprojetsousSTM32CubeMX3) Générationd’unsignald’horloge4) Générationd’unsignalPWM5) Conclusion/Bilan

ToutaulongdeceTP,desquestionsvoussontposées.Prenezletempsd’yrépondreetdeprendredesnotes.___________________________________________________________________________I. Introduction

Lors de cette séance, vous allezmettre enœuvreunpériphérique incontournable des

microcontrôleurs,letimer.Letimerestuncompteurconfigurablede16ou32bitspermettantdedélivrerunebasedetemps,servantgénéralementderéférencedanstoutessortesd’applications.LeSTM32F446REpossède17timers;dont12de16bitset2de32bits,les3restantsétantdédiésauSysTicketà2watchdog1.

1DocumentationcomplèteduSTM32F446REdisponibleici(débutpage446):http://www.st.com/content/ccc/resource/technical/document/reference_manual/4d/ed/bc/89/b5/70/40/dc/DM00135183.pdf/files/DM00135183.pdf/jcr:content/translations/en.DM00135183.pdfDocumentationdestimersdesSTM32:http://www.st.com/content/ccc/resource/technical/document/application_note/group0/91/01/84/3f/7c/67/41/3f/DM00236305/files/DM00236305.pdf/jcr:content/translations/en.DM00236305.pdf

M1-Archi 2016-2017 Page2

• LestimersLestimerspeuventêtreutilisésdansplusieursmodes: -inputcapture:mesurerladuréed’unpulsed’unsignalenentrée -outputcompare:générationdesignauxpériodiques

-PWM(PulseWidthModulation):modulationdelargeurd’impulsiondesignaux-Onepulse:générationd’unpulseensortie

Laduréedessignauxgénéréspeuts’étendretypiquementdequelquesmicrosecondesàquelquesmillisecondes.Eneffet,l’ajustementdeladurées’effectueparlasélectiondelasourced’horloged’entréedutimeretdesvaleursdeprescaling.Auniveaudutimeretducontrôleurderesetetdesd’horloges(RCC),cesblocsdeprescalingpermettentdediviserunefréquenced’horlogeparunevaleurspécifiqueconfigurable.Parexemple,leTimer1possèdeunprescalersur16-bits.

Questions:-Parquelfacteurpeut-ondiviserlafréquenced’horlogeàl’aided’unprescalersur16bits?[1à].

Figure1:blocdiagrammedutimer1

M1-Archi 2016-2017 Page3

Onpeutnotersurlafigure1,queTimer1possède4canauxindépendants(TIM_CH1àTIM_CH3)pouvantfonctionnerdanslesdifférentsmodesdécritsprécédemment.

• LesprincipauxregistresdestimersL’unitédecomptagedutempssebaseessentiellementsur4registres:

-Counterregister(TIMx_CNT)-Prescalerregister(TIMx_PSC)-Auto-reloadregister(TIMx_ARR)-Repetitioncounterregister(TIMx_RCR)

LeTIMx_CNTestleregistredecomptage,leTIMx_PSCestleregistrepermettantdediviserl’horlogederéférence,TIMx_ARRpermetdedéfinirunevaleurseuildéclenchantlaremiseà0ducompteurouledécomptageparexemple.Pourfinir,leregistreTIMx_RCRestutilisépourlarépétition.Lecontenuduregistreindiquecombiendefois(TIMx_RCR+1)doitêtrerépétélecomptageavantdegénérerunUpdateEvent(UEV).SinonunUEVestgénéréàchaquefoisquelecompteurgénèreunoverflow.

• Définitiondel’horlogederéférenceL’horlogederéférencequiestfournieauprescalerestnotéeCK_PSC.L’horlogeissue

duprescalerestl’horlogedutimeretelleestnotéeCK_CNT(cf.lafigure1).L’horlogederéférenceCK_PSCpeutprovenirdeplusieurssources:

è Horlogeinterne(CK_INT)è D’unebroched’entréeexterne(Externalclockmode1)è D’untriggerexterned’entréeETR(Externalclockmode2)è Deplusieurstriggersinternes(ITRx).Parexemple,danslecasoùuntimer

serviraitdediviseurd’horloged’unautretimer.

• LestypesdecomptageLesregistresdecomptagepeuvents’incrémenter,sedécrémenter,oubienlesdeux.Ilsse

rechargentautomatiquementàl’aideduregistreTIMx_ARR.

o UpcountingDans cemode, le compteur compte de 0 jusqu’à la valeur définie dans le registre

TIMx_ARR.Puisilrecommenceà0etgénèreunévènementd’overflow(UpdateEVent-UEV).Dans le cas d’un compteur à répétition, cet UEV après que le compteur est effectuéTIMx_RCR+1boucledecomptage.Sinon,l’UEVestgénéréàchaqueoverflow.Unflagd’interruptionpeutaussiêtregénéré.

M1-Archi 2016-2017 Page4

Figure2:Upcountingmodeavecseuilà0x36(TIMx_ARR)

etprescalingd’horlogeà1

o DowncountingMêmeprincipequedanslecasprécédentoùcettefois-ci,lecompteurdécrémentede

la valeur seuil (TIMx_ARR-1) jusqu’à 0, puis recommence si la répétition est activée.L’événementestaussigénéréàlafindeladécrémentation.

o Center-alignedmode(up/downcounting)Danscemode,lecompteurvade0àlavaleurduregistreTIMx_ARR–1,génèreun

événementd’overflow,puisdécomptejusqu’à1etgénèreunévénementd’underflow.Puislecompteurrecommencelecomptageàpartirde0.

Figure:Illustrationdutimerenmodecenter-aligned

(Prescaling=1etTIMx_ARR=?)Question:QuelleestlavaleurinscritedansleregistreTIMx_ARRdansl’exempleprésentéenfigure3?

o RepetitioncounterNous avons vu qu’il était possible de compter/décompter demanière répéter un certainnombredefoisindiquéparleregistreTIMx_RCR,avantdegénérerunUEV.CeciesttrèsutilepourlagénérationdesignauxdetypePWMparexemple.Surlafiguresuivante,onpeutobserverl’impactduchoixdelavaleurdunombrederépétitionindiquédansTIMx_RCRsurlagénérationdesUEV.

M1-Archi 2016-2017 Page5

Impact

• ModeCapture/CompareDans ce mode, l’objectif est l’acquisition d’un signal (Capture), son filtrage puis la

détectiondefrontavecsélectiondepolaritévialeregistreTIxFPx.Ladétectiondefrontpeutservirdetriggerd’entréeouordredecapture.L’étagedesortie(capture/compareblock)estconstituédedeuxregistres,uncomparateuretunregistredesortiedecontrôle.Danscemode,ilestpossibledemesurerdeslargeursoudesfréquencesd’impulsion.

• ModeInputCaptureDanscemode,lesregistresTIMx_CCRxpermettentderécupérerlavaleurducompteur

aprèsqu’unetransitionaitétédétectéesurlesignald’entréeICx.Danscecas,leflagCCXIFduregistreTIMx_SRestmisà1etuneinterruption(ourequêteDMA)estgénérée(siellessontautorisées).Ceflagestremisà0lorsdelalectureduregistredecomptageTIMx_CCRx.Atitred’exemple,onpourraitutilisercemodepourmesurerl’intervalledetempsentredeuxfrontsmontantsdétectésconsécutivementsuruneentrée.

• OutputCompareMode(cf.p262[1])

Cette fonction permet le contrôle et la génération de signaux. Elle peut aussi êtreutiliséepourindiquerlorsqu’unepériodedetempsprécisevientdes’écouler,enpositionnantunesortieà0ou1parexemple.Commesonnom l’indique, l’objectifestdecomparer lavaleurducompteuraveccelleduregistredecapture/compare(TIMx_CCRx).Achaquedétectiondevaleurégale,l’étagedecomparaisonpeutalors:

-assignerensortieunevaleurdéfinievialesbitsOCxMduregistreTIMx_CCMRx,

M1-Archi 2016-2017 Page6

-changerlapolaritédelabrochesortieenmodifiantlebitCCxPduregistreTIMx_CCER-nepaschangerlavaleurdelabrochedesortie(OCxM=000),l’activer(001),ladésactiver(010)oulatoggler(011).

Unflagd’interruptionestmisà1(bitCCxIFduregistreTIMx_SR).Silemasqued’interruptionestactivé(bitCCXIEduregistreTIMx_DIER),alorsuneinterruptionestgénérée.UnerequêteDMApeutaussiêtreactivéesilebitCCxDEduregistreTIMx_DIERetlebitCCDSduregistreTIMx_CR2(sélection)sontactivés.

Figure:illustrationdumondeOutputcompare

• PWM(cf.p263[1])Letimerpeutaussipermettrelagénérationd’unsignaldontlafréquenceetlerapportcycliquesont contrôlables par des registres. On peut alors générer un signal dont la largeur desimpulsions est modulée (PWM). Le registre TIMx_ARR (compteur) permet de définir lafréquencetandisqueleregistreTIMx_CCRxcontrôlelerapportcyclique.

Figure:illustrationdelagénérationdesignauxpourdifférentsrapportscycliques(dutycycle)

M1-Archi 2016-2017 Page7

LasélectiondumodePWMestindépendantesurchaquecanal(jusqu’à4partimercommeindiquéenfigure1,avec1signalPWMparsortieOCx),ets’effectueendéfinissantlesbitsOCxMauxvaleurs‘110’(PWMmode1)ou‘111’(PWMmode2)duregistreTIMx_CCMRx.DanslesdeuxmodesPWM(1et2),lesregistresTIMx_CNTetTIMx_CCRxsontcomparéspourdéterminersisoitTIMx_CCRx≤TIMx_CNTouTIMx_CNT≤TIMx_CCRx(celadépendaussidusensdecomptage).

Le timer est capable de générer un signal PWM dans lemode ‘edge-aligned’ ou ‘center-aligned’.Cechoixs’effectueparlesbitsCMSduregistredeconfigurationTIMx_CR1.

a) b)Figure:edge-alignedmode(a)vscenter-alignedmode(b)(TIMx_ARR=8)

o PWMedge-aligned

§ Upcountingconfiguration(bitDIRà0deTIMx_CR1)LesignalPWMderéférenceOCxREFestàl’étathautaussilongtempsqueTIMx_CNT<TIMx_CCRx,étatbassinon.

§ Downcountingconfiguration(bitDIRà1deTIMx_CR1)

LesignalPWMderéférenceOCxREFestàl’étatbasaussilongtempsqueTIMx_CNT>TIMx_CCRx,étathautsinon.

o DifférenceavecunsignalPWMcenter-aligned

Center-aligned

Edge-aligned

M1-Archi 2016-2017 Page8

Unexemplepourrésumer:Sil’onsouhaitegénérerunsignalPWMdefréquence1kHz(PériodedeT=1ms)avec

unrapportcycliquede50%etquel’onsupposeunehorlogeenentréedutimerdefréquence10MHz(100ns).

1- définirlavaleurduprescalerPSC(attentionvaleurcodéesur16bits).OnpeutchoisirPSC=10.Ainsionauraunefréquencedecomptagede1MHz(1us)

2- définirlapériodedecomptage.Onchoisit1000car1000x1us=1ms.Lapériodeducompteurseradoncde1ms(1kHz).

3- DéfinirlePulse(largeurdel’impulsion)quiseradoncde500pouravoirunrapportcycliquede50%.

• One-Pulsemode(cf.p273[1])

Lefonctionnementdanscemodeestlégèrementparticulierparrapportauxprécédents.

Cemodepermetdedéclencher le compteur en réponse àun stimulus et de générer uneimpulsionpendantuneduréeprogrammableainsiqu’aprèsundélaiprogrammable.La sélection de cemode s’effectue enmettant le bit OPM à 1 du registre TIMx_CR1. Lecompteurs’arrêteraalorsàlagénérationduprochainévènement.Unexempleestdétaillédansledoc[1].

Figure:générationd’uneimpulsionàl’aidedutimer

• SynchronisationavectriggerexterneEnfonctiondel’utilisation,letimerpeutêtresynchronisésuivantsplusieursmodes:

-ResetMode-GatedMode-TriggerMode

o Slavemode:ResetLecompteuretsonprescalerpeuventêtreréinitialisésenréponseàunévénement

suruneentréedetrigger.Surlafiguresuivante,lorsdufrontmontantsurl’entréeTI1,lecompteurestremisàzéro.OnsupposeaussiqueTIMx_ARR=0x36.Onnotequeleflagdetriggerestaussimisà1.

M1-Archi 2016-2017 Page9

Figure:Modeesclave,lereset

o Slavemode:GatedmodeDanscetautremodeesclave,lecompteurpeutêtreactivéenfonctionduniveaud’une

entréesélectionnée.Dansl’exemplesuivant,lecompteurs’incrémenteuniquementlorsqueTI1estàl’étatbas.Onremarqueenplusquelecomptageestcontrôléparl’entréeCNT_ENquidoitêtreactive.LeflagTIFduregistreTIMx_SRestmisà1lorsquelecompteurcommenceets’arrêtedecompter.

Figure:Modeesclave,lemode‘gated’

o Slavemode:trigger

Dans cemode, le compteur est activé en réponse à unévénement sur uneentréesélectionnée.Dans l’exemple suivant, le compteur est activé lors de la détectiondu frontmontant sur l’entrée TI2. Le délai d’activation est lié au circuit de resynchronisation surl’entréeTI2.

Figure:Modeesclave,lemode‘trigger’

Danslemêmeprincipe,ilexistelemodetrigger+externalclockmode2(cf.p281[1]).Danscecas,enplusde l’activationducompteurà ladétectiond’unévénementsuruneentréedédiée,unehorlogeexterneestdélivréeaucompteur.Leprincipeest illustrésur la figuresuivante:

M1-Archi 2016-2017 Page10

Figure:Modeesclave,lemode‘trigger+externalclockmode2’

II. ProgrammesàréaliserEXERCICE1:ALLUMAGEPERIODIQUED’UNELED

Onsouhaiteutiliserletimer1enmodeinterruptionafindetogglerlaledLD2toutes

lessecondes(f=1Hz).Uneinterruptionseradoncgénéréetouteslessecondes.Pourcela,onvaconfigurerletimerpour: -définirlafréquenced’horlogeducompteur(Prescaler) -définirlapériodedecomptagepourgénéreruneinterruptionàuninstantdonné.Questions: -Quelleestlafréquenced’horlogeenentréedutimer(avantprescaler) -Parcombiendoit-ondiviserlafréquencedecettehorlogeauniveauduprescaler? -Jusqu’àcombiendoits’incrémenterlecompteuravantdegénérerl’interruption?

• ConfigurationduprojetsousSTM32CubeMX

Comme au TP précédent, on se propose d’utiliser l’outil STM32CubeMX pourconfigurergraphiquementlemicrocontrôleur.Onyspécifienotammentlessourcesd’horloge,lespériphériquesquel’onsouhaiteutiliser,lessourcesinterruptions,etc.

1. LancerSTM32CubeMX

M1-Archi 2016-2017 Page11

2. Créerunnouveauprojet.Chercheretsélectionnerensuitelaplateformequel’onsouhaiteutiliser(Nucleo64avecunMCUSTM32F446RETx)puisOK.

Vousarrivezsurl’écranprincipaldeconfigurationduMCU.

M1-Archi 2016-2017 Page12

3. Faireuneremiseàzérodesbrochesvial’ongletPinout/ClearPinouts

4. VouspouvezobserverdanslafenêtrePinout,l’ensembledespériphériquesquipeuvent être utilisés ainsi que les OS temps-réels et autres fonctionnalitéslogicielles.

5. AcôtédePinoutsetrouveclockconfiguration.

Danscettefenêtre,vouspouvezgraphiquementdéfinirlessourcesd’horlogepourconfigurerl’horlogeprincipale(SYSCLK)dumicrocontrôleur.Vousnoterezqu’ilexisteplusieursentréespossibles (HSI/HSE et PLLCLK). En d’autres termes, vous pouvez choisir entre une sourced’horloge interne (HSI - 16MHz), une sourced’horloge externe (HSE – 4 à 26MHz) et une

M1-Archi 2016-2017 Page13

horlogegénéréeparunePLL(PLLCLK).Deplus,vousremarquerezquel’horlogedesbusetdespériphériquesdépendentdeSYSCLK,hormisl’horlogepourl’USBainsiquepourl’audio(I2Sclock).Dans la fenêtre Pinout, indiquer comme source d’horloge HSE (High Speed Clock) que lasourced’horlogeprovientduCrystal/CeramicResonator.

Nous avons vu aussi qu’il existe un registre spécifique de contrôle au sein dumicrocontrôleurpermettantdeconfigurerlessourcesd’horloge.C’estleregistreRCC(ResetandClockControl).

Dans clock configuration, modifier certains éléments afin d’obtenir une horlogeSYSCLKde84MHZ.

Les horloges fournies aux timers sont définies à partir des horlogesAPB1_TIMER_Clocks (TIMER 2,3,4,5,6,7,12,14) et APB2_TIMER_Clocks (TIMER1,8,9,10et11).

6. Lecontrôleurderesetetd’horloge(RCC)permetaussideconfigurerles

différentessourcesdereset:o Systemreset(remiseàzérodesregistresviaNRSTpin)o Powerreset,o Backupdomainreset.

M1-Archi 2016-2017 Page14

Pourpermettreune interruptionde reset, il estnécessairede l’autoriserauniveau du contrôleur d’interruption NVIC comme indiqué sur la figure suivante,accessiblevialafenêtreconfiguration:

ApplyandOK.

7. Onsouhaiteaussipouvoircontrôler laLED.Celle-ciestconnectéeauPortA

d’E/S(GPIOA)etàlabroche5(PA5).VouspouvezlacherchervialeFind:

IlfautdoncladéfinirentantqueGPIO_Outputcommesuit:

Vousnoterezque labrochePA5possèdeplusieurs fonctionnalités (pouvantserviràd’autrespériphériquescommeleTIMER2,l’ADC,laliaisonSPI…).Une

M1-Archi 2016-2017 Page15

fois configurée, retourner dans la fenêtre configuration, puis GPIO. Vousnoterezcommentaétéconfiguréelabroche(push-pull…)Optionnel:delamêmefaçonquePA5,onpourraitconfigurerlabrochePC_13entantqu’entréed’interruptionGPIO_EXTI13.Onrappellequecettebrocheestdirectement reliée au bouton poussoir utilisateur. Dans la fenêtreconfiguration,puisGPIO,vousdevezobtenirl’imagesuivante:

8. Configurationdutimer(pourExo1)AjouterensuitedanslafenêtrePinout,letimer1.Onindiqueraseulementlasourced’horlogecommeétantinterne.

Danslafenêtreconfiguration,puisTIM1,onpeutobserverlesparamètressuivants:

M1-Archi 2016-2017 Page16

Modifier les paramètres du Prescaler et de Counter Period pour que lecompteurdupuisseavoirunepériodedecomptaged’1s.Dans l’ongletNVIC Settings, cochez la case Enable pour TIM1 update andTIM10 global interrupt. De cettemanière, une interruption sera générée àl’issuedechaquecycle.ApplyetOK.

9. GénérationducodeetduprojetpourKeiluVisionC’estladernièreétapedeconfigurationduprojet.AllerdansProject/Settings.

DansProjectNameindiquerlenomdevotreprojet.DansProjectlocation,indiquerlerépertoiredevotreprojetoùseragénérerlecode.DansToolchain/IDE,indiquerMDK-ARMv5.

M1-Archi 2016-2017 Page17

Dansl’ongletsuivant,CodeGenerator,sélectionner“Copyonlythenecessarylibraryfiles”.

PuisOK

M1-Archi 2016-2017 Page18

Enfin,dansl’ongletProject,GenerateCode.

CliquerensuitesurOpenProjectpourouvrirleprojetgénérésousµVision.

• Sousvision(Kiel)Compléterlecodegénérépourréaliserlafonctionnalitésouhaitée.

->Pourcela,regarderlesfonctionsdisponiblesdanslalibrairie.

Encasdeproblème,servez-vousdudebuggerafind’observerlesregistresdutimer.

EXERCICE2:GENERATIOND’UNSIGNALPWM

On souhaitemaintenant générerun signal constituéd’impulsions, dont la largeur sera

moduléepar logiciel.Nousavonsvuqu’unpériphériquecomme letimerpeutgénérerdessignauxPWM.Danslapremièrepartiedudocumentsontrappeléeslescaractéristiquesdecessignaux.

Voicilesspécificationsdusignalàgénéreràl’aidedutimer1:Fréquence=50kHz(T=20us)Rapportcycliquede30%.

Sous STM32CubeMx, créer un nouveau projet comme pour l’exercice précédent jusqu’àl’étape7incluse.L’étape8comprendralaconfigurationdutimer1pourgénérerlesignal.Unefoisquetoutestcorrectementconfiguré,générerlecodecommeprécédentetlancerµVision.

1. µVision

1ièreversion:

M1-Archi 2016-2017 Page19

CompléterlecodegénéréafindepouvoirobserversurlabrochePA8,unsignalPWMavecunefréquencede50kHzetunrapportcycliquede30%.Unoscilloscopepermettradevisualiseretvalidervotreconfiguration.-Fairevaliderparl’enseignant

2ndeversion:

Modifierlecodeafindepouvoirprendreencompteunsignald’interruptionprovenantduboutonpoussoir(PC_13).Unappuisurceboutondevrapermettred’incrémenterde10%lalargeurdel’impulsion,c’est-à-direaugmenterde10%lerapportcyclique.-Fairevaliderparl’enseignant

3ièmeversion:

Onsouhaitequeletimerpuisseêtredéclencherparl’intermédiaired’unsignalexternedecommande.Enfonctiondelavaleurdecesignal,onactiveralecomptageounon.Onémuleracesignaldecommandeparl’intermédiaireduboutonpoussoir.Vousvousréfèrerezàladocumentationpoursavoirsurquellebrochedoitêtreenvoyélesignaldecommande.Onpourraémulerunsignalprovenantdel’extérieuràl’aideduboutonpoussoir. Lors de l’appui, le timer sera activé, sinon il sera bloqué. Pour montrerl’activitédutimer,onseproposed’allumerparinterruptionlaledtouteslessecondes.-SousSTM32CubeMx,CréerunnouveauprojetetconfigurerleTimer1enMode‘Gated’,lesentréessortiesetlessourcesd’interruptions.-SousuVision,Modifierlecodesibesoin-Fairevaliderparl’enseignant.

III. Bilanetconclusion

Lors de ce TP, vous avez pu mettre en œuvre un périphérique indispensable aumicrocontrôleur.Des interruptionspériodiquespeuventainsi rythmer lecyclede réveildumicrocontrôleur, le déclenchement d’acquisition et de réceptionde signaux pour d’autrespériphériquescommelesconvertisseursA/NetN/A,encoderdesdonnées,…IV. Références

[1] STMicroelectronics,“STM32F446xxadvancedARMbased32-bitMCUs”,RM0390ReferenceManual,

Jan2016,http://www.st.com/content/ccc/resource/technical/document/reference_manual/4d/e

M1-Archi 2016-2017 Page20

d/bc/89/b5/70/40/dc/DM00135183.pdf/files/DM00135183.pdf/jcr:content/translations/en.DM00135183.pdf