|
1: Eksperimentets navn Firesifret løpelys
2: Eksperimentelt innholdOpplev syklusen med å blinke med fireposisjons kjørelys
3. Formålet med eksperimentet1: Mestre LED-maskinvarenBane 2: Mestre registerkonfigurasjonsmetoden for KL25 GPIO-modulens utgang 3: Mestre programmeringsmetoden med firesifret løpende lyssyklusblink
4. Eksperimentelle metoder 1: Se kretsdiagrammet for den seksjonen Det ble funnet at PTB8, PTB9, PTB10 og PTB11 pinnene til KL25 styrer de fire LED-lysdiodene D6, D7, D8 og D9 henholdsvis. file:///C:\Users\AA\AppData\Local\Temp\ksohtml\wps_clip_image-3968.png 2: Konfigurer de tilsvarende registrene til GPIO-modulen (1) Se side 122 i KL25 Reference Manual og se at GPIO leveres av plattformklokken.
(2) Koble Plattformklokken til POTRB-modulen, og programmere den som følger: SIM_SCGC5=SIM_SCGC5_PORTB_MASK; SIM_SCGC5 registre kan konsulteres
(3) Sett multipleksingspinnattributtene, konfigurer PTB8, PTB9, PTB10 og PTB11 som GPIO-funksjoner, og programmere dem som følger: PORTB_PCR8=PORT_PCR_MUX(1); PORTB_PCR9=PORT_PCR_MUX(1); PORTB_PCR10=PORT_PCR_MUX(1); PORTB_PCR11=PORT_PCR_MUX(1); Se PORTx_PCRn-registeret og side 46 i KL25-databladet for mer informasjon
(4) Sett inn- og utgangsretningen på pinnene, sett PTB8, PTB9, PTB10 og PTB11 til utgang, og programmere dem som følger: GPIOB_PDDR=GPIO_PDDR_PDD(0x00000f00u); GPIOx_PDDR registre kan konsulteres
(5) Sett utgangs-logikknivået til pinnen, sett utgangshøynivået på PTB8, PTB9, PTB10, PTB11, og programmere det som følger: GPIOB_PDOR=GPIO_PDOR_PDO(0x00000f00u); Konsulter GPIOx_PDOR registre
3: Vær oppmerksom på syklusblinkingen til fireposisjons løpelys [mw_shl_code=c,true]Konsulter det tilsvarende programmet i hovedfunksjonen til rutinen/* *********************************************************** * filnavn : main.c * funksjon : funksjon for hoved * *********************************************************** */
#include "derivative.h" #include "config.h" #include "crg.h" #include "gpio.h"
/******************************主函数*************************************/ int main(tomrom)
{ asm("CPSID i"); Den generelle avbrytelsen av passet
crg_default_init(); Systemets standardklokke crg_configuration_init(); Klokke etter konfigurasjon MCGIRCLK_outenable(); Aktiverer MCGIRCL-utgang 2M clock_test(4); Tester av de tilsvarende klokkene
gpio_init(); GPIO-initialisering
asm ("CPSIE i"); Åpne den totale avbrytelsen
for(;; ) { GPIOB_PDOR=GPIO_PDOR_PDO(0x00000100u); PTB8-utgang høynivå, D6LED-lys på delayms (15 000); Forsinkelse GPIOB_PDOR=GPIO_PDOR_PDO(0x00000200u); PTB9-utgang på høyt nivå, D7LED-lys på delayms (15 000); Forsinkelse GPIOB_PDOR=GPIO_PDOR_PDO(0x00000400u); PTB10-utgang på høyt nivå, D8LED-lys på delayms (15 000); Forsinkelse GPIOB_PDOR=GPIO_PDOR_PDO(0x00000800u); PTB11 utgang høyt nivå, D9LED-lys på delayms (15 000); Forsinkelse }
}[/mw_shl_code]
|