版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
嵌入式系統(tǒng)設(shè)計(jì)學(xué)習(xí)通課后章節(jié)答案期末考試題庫(kù)2023年外部中斷的中斷0在庫(kù)函數(shù)啟動(dòng)文件中定義的默認(rèn)中斷函數(shù)名是____。
參考答案:
EXTI0_IRQHandler
系統(tǒng)時(shí)鐘的三個(gè)輸入選擇分別是_____、__、____。
參考答案:
HSI###HSE###PLLCLK
STM32F429IGT6微控制器內(nèi)部集成的程序存儲(chǔ)器空間大小為_(kāi)_____,SRAM的空間大小為_(kāi)____。
參考答案:
1MB###324KB
每個(gè)GPIO引腳都可以作為外部中斷信號(hào)輸入引腳,GPIO引腳編號(hào)相同的映射到同一個(gè)EXTI線,那么GPIOA的0號(hào)引腳映射到EXTI線___1_____,GPIOD的0號(hào)引腳映射到EXTI線_____2___,GPIOC的5號(hào)引腳映射到EXTI線_____3___,GPIOG的10號(hào)引腳映射到EXTI線____4____。
參考答案:
0###0###5###10
STM32F429計(jì)數(shù)寄存器是____,自動(dòng)重載寄存器是___,預(yù)分頻寄存器是____。
參考答案:
TIMx_CNT###TIMx_ARR###TIMx_PSC
什么是PWM信號(hào)?什么是占空比?
參考答案:
PWM(PulseWidthModulation):脈沖寬度調(diào)制,簡(jiǎn)稱脈寬調(diào)制。PWM信號(hào):周期內(nèi)高電平占空比可調(diào)的信號(hào)。占空比:一個(gè)周期內(nèi)高電平持續(xù)時(shí)間與一個(gè)周期時(shí)間的比值。
STM32F429定時(shí)器的計(jì)數(shù)方式有____、___、____。
參考答案:
遞增計(jì)數(shù)###遞減計(jì)數(shù)###中心對(duì)齊
選擇HSE振蕩器時(shí)鐘(8MHz)作為PLL時(shí)鐘源,并選擇PLL生成180MHz的系統(tǒng)時(shí)鐘,系統(tǒng)時(shí)鐘不分頻產(chǎn)生AHB時(shí)鐘HCLK=180MHz。當(dāng)APB1總線4分頻HCLK時(shí)鐘,PCLK1=__1___MHz,當(dāng)APB2總線2分頻HCLK時(shí)鐘,PCLK2=__2___MHz,。
參考答案:
45###90
編程序,使用TIM1產(chǎn)生1s的定時(shí)。
參考答案:
TIM_TimeBaseInitTypeDef
TIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;
/*-------------------第1步--------------------*/
//開(kāi)啟TIM1時(shí)鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
/*-------------------第2步--------------------*/
TIM_TimeBaseStructure.TIM_Period=10000-1;
TIM_TimeBaseStructure.TIM_Prescaler=18000-1;
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_RepetitionCounter=0;
TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);
/*-------------------第3-1步--------------------*/
//開(kāi)啟定時(shí)器更新中斷
TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);
//清除定時(shí)器更新中斷標(biāo)志位
TIM_ClearFlag(TIM1,TIM_FLAG_Update);
/*-------------------第3-2步--------------------*/
//設(shè)置中斷組為0
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
//設(shè)置中斷來(lái)源
NVIC_InitStructure.NVIC_IRQChannel=TIM1_UP_TIM10_IRQn;
//設(shè)置搶占優(yōu)先級(jí)
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
//設(shè)置子優(yōu)先級(jí)
NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
/*-------------------第4步--------------------*/
//使能定時(shí)器
TIM_Cmd(TIM1,ENABLE);
什么是CISC、RISC指令系統(tǒng)?二者有什么區(qū)別?
參考答案:
CISC是復(fù)雜指令集,指令特征為使用微代碼,計(jì)算機(jī)性能的提高往往是通過(guò)增加硬件的復(fù)雜性來(lái)獲得的。RISC是精簡(jiǎn)指令集,指令特征:RISC包含簡(jiǎn)單、基本的指令,這些簡(jiǎn)單、基本的指令可以組合成復(fù)雜指令。(1)CISC的指令能力強(qiáng),單多數(shù)指令使用率低卻增加了CPU的復(fù)雜度,指令是可變長(zhǎng)格式;RISC的指令大部分為單周期指令,指令長(zhǎng)度固定,操作寄存器,只有Load/Store操作內(nèi)存(2)CISC支持多種尋址方式;RISC支持方式少(3)CISC通過(guò)微程序控制技術(shù)實(shí)現(xiàn);RISC增加了通用寄存器,硬布線邏輯控制為主,是和采用流水線(4)CISC的研制周期長(zhǎng)(5)RISC優(yōu)化編譯,有效支持高級(jí)語(yǔ)言大部分嵌入式系統(tǒng)使用的處理器使用的都是RISC指令集。例如:ARM、MIPS處理器
闡述PLL的倍頻原理
參考答案:
當(dāng)鎖相環(huán)處于鎖定狀態(tài)時(shí),鑒相器(PD)的兩輸入端一定是兩個(gè)頻率完全一樣但有一定相位差的信號(hào)。如果它們的頻率不同,則在壓控振蕩器(VCO)的輸入端一定會(huì)產(chǎn)生一個(gè)控制信號(hào)使壓控振蕩器的振蕩頻率發(fā)生變化,最終使鑒相器(PD)的兩輸入信號(hào)(一個(gè)是鎖相環(huán)的輸入信號(hào)Ui,一個(gè)是壓控振蕩器的輸出信號(hào)Uo)的頻率完全一樣,則環(huán)路系統(tǒng)處于穩(wěn)定狀態(tài)。基于此原理,如果在VCO之后,加一個(gè)分頻器(N分頻),在反饋回鎖相環(huán)輸入端,此時(shí)輸出信號(hào)即為原來(lái)的N倍。
請(qǐng)說(shuō)明SYSCLK、HCLK、PCLK1及PCLK2這4個(gè)時(shí)鐘之間的關(guān)系。
參考答案:
SYSCLK=HCLK。PCLK1及PCLK2的頻率由RCC時(shí)鐘配置寄存器(RCC_CFGR)的PPRE1和PPRE2兩個(gè)位域決定。默認(rèn)系統(tǒng)復(fù)位后。PCLK1=HCLK/4PCLK2=HCLK/2
如何以本書上定義的寄存器封裝將GPIOH端口(包括16引腳,編號(hào)為0~15)的0號(hào)、2號(hào)、
3號(hào)、6號(hào)、7號(hào)引腳設(shè)置為低電平,把1號(hào)、8號(hào)、9號(hào)引腳設(shè)置為高電平?請(qǐng)使用兩條C指令完成_______________________。
參考答案:
GPIOH->ODR
&=
~(1<<7|1<<6|1<<3|1<<2|1);
嵌入式系統(tǒng)處理器有哪幾種?如何選擇?
參考答案:
嵌入式處理器是嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運(yùn)行的硬件單元。分為以下幾種:(1)嵌入式微處理器一般用于中高端嵌入式系統(tǒng)應(yīng)用場(chǎng)景,可跑中大型操作系統(tǒng)。(2)嵌入式微控制器一般用于低端嵌入式系統(tǒng)應(yīng)用場(chǎng)景,可跑小型操作系統(tǒng)或裸機(jī)運(yùn)行程序。(3)嵌入式DSP一般用于數(shù)據(jù)運(yùn)算集中的應(yīng)用場(chǎng)景。(4)嵌入式SoC在此主要指基于FPGA的SOPC系統(tǒng),處理器和FPGA系統(tǒng)混合集成。一般應(yīng)用于通信、數(shù)據(jù)中心等對(duì)數(shù)據(jù)處理實(shí)時(shí)性有要求的場(chǎng)景。
嵌入式系統(tǒng)處理器的選擇主要根據(jù)應(yīng)用場(chǎng)景決定。
嵌入式實(shí)時(shí)操作系統(tǒng)定義是什么?典型的嵌入式實(shí)時(shí)操作系統(tǒng)有哪幾種?
參考答案:
嵌入式實(shí)時(shí)操作系統(tǒng)主要面向控制、通信等領(lǐng)域。實(shí)時(shí)操作系統(tǒng)除了要滿足應(yīng)用的功能需求,還要滿足應(yīng)用提出的實(shí)時(shí)性要求,屬于搶占式操作系統(tǒng)。嵌入式實(shí)時(shí)操作系統(tǒng)能及時(shí)響應(yīng)外部事件的請(qǐng)求,并以足夠快的速度予以處理,其處理結(jié)果能在規(guī)定的時(shí)間內(nèi)控制、監(jiān)控生產(chǎn)過(guò)程或?qū)μ幚硐到y(tǒng)做出快速響應(yīng),并控制所有任務(wù)協(xié)調(diào)、一致地運(yùn)行。典型的嵌入式實(shí)時(shí)操作系統(tǒng)有VxWork、mCOS-Ⅲ、QNX、FreeRTOS、eCos、RTX及RT-Thread等。
在stm32f429的庫(kù)函數(shù)中,使能GPIOA時(shí)鐘,使用的庫(kù)函數(shù)是______________________
參考答案:
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE)
試說(shuō)明Corte-M3/M4處理器兩種模式和兩種特權(quán)的使用。
參考答案:
兩種模式:線程模式和處理器模式。這兩種模式可以區(qū)別普通應(yīng)用程序的代碼和異常服務(wù)例程的代碼(包括中斷服務(wù)例程的代碼)。兩種特權(quán):特權(quán)級(jí)和用戶級(jí)。提供一種存儲(chǔ)器訪問(wèn)的保護(hù)機(jī)制,使得普通的用戶程序代碼不能意外地,甚至惡意地執(zhí)行涉及要害的操作。處理器支持兩種特權(quán)級(jí),這也是一個(gè)基本的安全模型。
在stm32f429的庫(kù)函數(shù)中,設(shè)定某些特定GPIO引腳輸出狀態(tài),使用的庫(kù)函數(shù)是______________
參考答案:
voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);voidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin)
STM32F429系列微控制器每個(gè)GPIO端口有____個(gè)引腳。
參考答案:
16
控制引腳輸出電平時(shí),需要操作_____寄存器;獲取引腳狀態(tài)需要操作_____寄存器。
參考答案:
ODR###IDR
在stm32f429的庫(kù)函數(shù)中,初始化GPIO功能,使用的庫(kù)函數(shù)是________________
參考答案:
voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct)
編寫程序,將GPIOD的1號(hào)、3號(hào)、5號(hào)、7號(hào)、9號(hào)引腳配置為推挽輸出模式,速度為50MHz,將0、2號(hào)、4號(hào)、6號(hào)、8號(hào)引腳配置為上拉輸入模式。
參考答案:
GPIO_InitTypeDefGPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_7|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOD,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_2|GPIO_Pin_4|GPIO_Pin_6|GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;GPIO_Init(GPIOD,&GPIO_InitStructure);
STM32F4的中斷控制器支持_______個(gè)外部中斷/事件
參考答案:
23
(4)設(shè)置USART2的中斷搶占優(yōu)先級(jí)為3,響應(yīng)優(yōu)先級(jí)為3。
參考答案:
voidNVIC_Configuration(void){NVIC_InitTypeDefNVIC_InitStructure;
//聲明NVIC初始化臨時(shí)變量/*將NVIC中斷優(yōu)先級(jí)組設(shè)置為2組*/NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
//2位搶占優(yōu)先級(jí)可以是0~3
//2位響應(yīng)優(yōu)先級(jí)可以是0~3
/*設(shè)置中斷源為EXTI2_IRQn*/NVIC_InitStructure.NVIC_IRQChannel=EXTI2_IRQn;
/*設(shè)置搶先優(yōu)占級(jí)*/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
/*設(shè)置響應(yīng)優(yōu)先級(jí)*/NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;
/*使能這一中斷*/NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
/*完成以上中斷的初始化功能*/
NVIC_Init(&NVIC_InitStructure);
/*設(shè)置中斷源為TIM2_IRQn*/NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn;
/*設(shè)置搶占優(yōu)先級(jí)*/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
/*設(shè)置響應(yīng)優(yōu)先級(jí)*/NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
/*使能這一中斷*/NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
/*完成以上中斷的初始化功能*/NVIC_Init(&NVIC_InitStructure);
/*設(shè)置中斷源為USART2_IRQn*/NVIC_InitStructure.NVIC_IRQChannel=USART2_IRQn;
/*設(shè)置搶占優(yōu)先級(jí)*/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
/*設(shè)置響應(yīng)優(yōu)先級(jí)*/NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
/*使能這一中斷*/NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
/*完成以上中斷的初始化功能*/NVIC_Init(&NVIC_InitStructure);}//初始化函數(shù)結(jié)束
簡(jiǎn)述STM32F429微控制器中的NVIC中斷管理方法。
參考答案:
Cortex-M4內(nèi)核中定義了兩個(gè)優(yōu)先級(jí)的概念:搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí),每個(gè)中斷源都需要被指定這兩種優(yōu)先級(jí),由兩者的組合得到中斷的優(yōu)先級(jí)別。NVIC對(duì)中斷優(yōu)先級(jí)的管理方法如下。(1)搶占優(yōu)先級(jí)較高的中斷可以打斷正在進(jìn)行的搶占優(yōu)先級(jí)較低的中斷,不同搶占優(yōu)先級(jí)的中斷可以實(shí)現(xiàn)中斷的嵌套。(2)搶占優(yōu)先級(jí)相同的中斷,響應(yīng)優(yōu)先級(jí)高的不可以打斷響應(yīng)優(yōu)先級(jí)低的中斷。(3)當(dāng)兩個(gè)搶占優(yōu)先級(jí)相同的中斷同時(shí)發(fā)生的情況下,哪個(gè)中斷響應(yīng)優(yōu)先級(jí)高,哪個(gè)中斷就先執(zhí)行。(4)如果兩個(gè)中斷的搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)都一樣,則哪個(gè)中斷先發(fā)生,哪個(gè)中斷就先
執(zhí)行。(5)如果兩個(gè)中斷的搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)都一樣,且同時(shí)請(qǐng)求,則根據(jù)異常中斷向量表中的排位順序決定哪個(gè)中斷先執(zhí)行。
當(dāng)中斷優(yōu)先級(jí)組設(shè)置為2組時(shí),搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)可以分別設(shè)置為哪些優(yōu)先級(jí)?
參考答案:
搶占優(yōu)先級(jí):0~3響應(yīng)優(yōu)先級(jí):0~3
voidNVIC_Init(NVIC_InitTypeDef*NVIC_InitStruct)函數(shù)的參數(shù)是個(gè)NVIC_InitTypeDef結(jié)構(gòu)體指針,這個(gè)結(jié)構(gòu)體維護(hù)的成員分別是________、________、__
______、________。
參考答案:
NVIC_IRQChannel###NVIC_IRQChannelPreemptionPriority###NVIC_IRQChannelSubPriority###NVIC_IRQChannelCmd
中斷優(yōu)先級(jí)編號(hào)越小,則其優(yōu)先級(jí)越
。
參考答案:
高
寫出STM32F429IGT6微控制器內(nèi)部Flash的地址范圍__________________
參考答案:
0x08000000-0x081FFFFF
假定設(shè)置中斷優(yōu)先級(jí)組為1,然后設(shè)置:中斷3(RTC中斷)的搶占優(yōu)先級(jí)為1,響應(yīng)優(yōu)先級(jí)為1;中斷6(外部中斷0)的搶占優(yōu)先級(jí)為3,響應(yīng)優(yōu)先級(jí)為0;中斷7(外部中斷1)的搶占優(yōu)先級(jí)為1,響應(yīng)優(yōu)先級(jí)為6。那么,這3個(gè)中斷的優(yōu)先級(jí)順序?yàn)椋ㄓ筛叩降祝篲___________
參考答案:
中斷3、中斷7、中斷6
voidNVIC_PriorityGroupConfig(uint32_tNVIC_PriorityGroup)函數(shù)用于設(shè)置
______
參考答案:
中斷優(yōu)先級(jí)組
中斷搶占優(yōu)先級(jí)高的是否可以搶占優(yōu)先級(jí)低的中斷流程?_____
參考答案:
可以
假設(shè)已有延時(shí)函數(shù)voiddelay_ms(u16nms);,此函數(shù)可直接調(diào)用。
參考答案:
#defineKEY_ON
1#defineKEY_OFF
0(1)intmain(void){
delay_init(168);
//初始化延時(shí)函數(shù)
LED_GPIO_Config();
Key_GPIO_Config();
while(1)
{
if(Key_Scan(GPIOE,GPIO_Pin_5)==KEY_ON
)
{
GPIO_ToggleBits(GPIOB,GPIO_Pin_2);
}
}}(2)voidKey_GPIO_Config(void){
GPIO_InitTypeDefGPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;
GPIO_Init(GPIOE,&GPIO_InitStructure);
}voidLED_GPIO_Config(void){
GPIO_InitTypeDefGPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
}(3)uint8_tKey_Scan(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin){
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON)
{
delay_ms(100);//去抖動(dòng)
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON)
return
KEY_ON;
else
returnKEY_OFF;
}
else
returnKEY_OFF;}
嘗試分析一下STM32F4系列微控制器從復(fù)位到main()啟動(dòng)過(guò)程__________________________
參考答案:
(1)
從存儲(chǔ)空間0x00000000處去除棧頂指針到MSP。
如何配置1ms的SysTick系統(tǒng)定時(shí)函數(shù)?
參考答案:
if(SysTick_Config(SystemCoreClock/1000000)){/*SystemCoreClock/1000000超出計(jì)數(shù)最大值時(shí)報(bào)錯(cuò),程序陷入空循環(huán)*/while(1);}
請(qǐng)寫出復(fù)位異常向量、SVC異常向量和SysTick向量地址。
參考答案:
復(fù)位異常向量地址:0x00000004SVC異常向量地址:0x0000002CSysTick向量地址:0x0000003C
該語(yǔ)句中volatile的作用是什么?
參考答案:
volatile防止變量TimingDelay在使用過(guò)程中被優(yōu)化。
試說(shuō)明異常響應(yīng)過(guò)程。
參考答案:
進(jìn)入異常/中斷步驟:(1)處理器在當(dāng)前堆棧上把程序狀態(tài)寄存器、程序計(jì)數(shù)寄存器、鏈接寄存器、R12、R3~R0八個(gè)寄存器自動(dòng)依次入棧。(2)讀取向量表(如果是復(fù)位中斷,則更新堆棧指針的值)。(3)根據(jù)向量表更新程序計(jì)數(shù)寄存器的值。(4)加載新程序計(jì)數(shù)寄存器處的指令(步驟(2)~步驟(4)與步驟(1)同時(shí)進(jìn)行)。(5)更新鏈接寄存器為EXC_RETURN(EXC_RETURN表示退出異常后返回的模式及使用的堆棧)。退出異常步驟:(1)根據(jù)EXC_RETURN指示的堆棧,彈出進(jìn)入中斷時(shí)被壓棧的八個(gè)寄存器。(2)從剛出棧的IPSR寄存器[8:0]位檢測(cè)恢復(fù)到哪個(gè)異常(此時(shí)為嵌套中斷中),若為0則恢復(fù)到線程模式。(3)根據(jù)EXC_RETURN,選擇使用相應(yīng)堆棧指針。
請(qǐng)寫出啟動(dòng)文件中定義的SysTick、復(fù)位中斷的中斷服務(wù)函數(shù)名。
參考答案:
SysTick中斷服務(wù)函數(shù)名:SysTick_Handler復(fù)位中斷函數(shù)名:Reset_Handler
根據(jù)圖,編寫程序以完成按鍵的外部中斷初始化,中斷輸入引腳為PE5,上升沿檢測(cè)方式。編寫外部中斷的服務(wù)程序,完成LED燈(PB2)的開(kāi)關(guān)控制。
參考答案:
voidEXTI0_Init(){GPIO_InitTypeDefGPIO_InitStructure;EXTI_InitTypeDefEXTI_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;
//-------------------第1步--------------------/*開(kāi)啟按鍵GPIO口的時(shí)鐘*/RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIO,ENABLE);
/*使能SYSCFG時(shí)鐘,使用GPIO外部中斷時(shí)必須使能SYSCFG時(shí)鐘*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);
//-------------------第2步--------------------/*選擇按鍵的引腳*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;/*設(shè)置引腳為輸入模式*/GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
/*設(shè)置引腳不上拉也不下拉*/GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;/*使用上面的結(jié)構(gòu)體初始化按鍵*/GPIO_Init(GPIOE,&GPIO_InitStructure);
//-------------------第3步--------------------/*連接EXTI中斷源到GPIOE5引腳*/SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource5);
//-------------------第4步--------------------/*選擇EXTI中斷源*/EXTI_InitStructure.EXTI_Line=EXTI_Line5;/*中斷模式*/EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;/*上降沿觸發(fā)*/EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;
/*使能中斷/事件線*/EXTI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStructure);
//-------------------第5步--------------------/*配置NVIC*//*配置NVIC為優(yōu)先級(jí)組1,整個(gè)程序處于同一組*/NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
/*配置中斷源:按鍵1*/NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;/*配置搶占優(yōu)先級(jí):1*/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;/*配置子優(yōu)先級(jí):1*/NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;/*使能中斷通道*/NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);}voidEXTI9_5_IRQHandler(void){
//確保是否產(chǎn)生了EXTILine中斷
if(EXTI_GetITStatus(EXTI_Line5)!=RESET)
{
//清除中斷標(biāo)志位
EXTI_ClearITPendingBit(EXTI_Line5);
//LED狀態(tài)轉(zhuǎn)換
GPIO_ToggleBits(GPIOB,GPIO_Pin_2);
}
}
什么是大端模式和小端模式?
參考答案:
在小端格式中,一個(gè)字的中低地址的字節(jié)為該字的低有效字節(jié),高地址的字節(jié)為高有效字節(jié)。存儲(chǔ)器系統(tǒng)地址0的字節(jié)與數(shù)據(jù)線7-0相連。在大端格式中,一個(gè)字的中低地址的字節(jié)為該字的高有效字節(jié),而高地址的字節(jié)為低有效字節(jié)。存儲(chǔ)器系統(tǒng)地址0的字節(jié)與數(shù)據(jù)線31-24相連。
編寫C語(yǔ)言,將存儲(chǔ)空間0x40000004單元的3位置位(普通方式和位帶操作)。
參考答案:
普通方式:*((volatileunsignedint*)(0x40000004))
|=
(0x1<<3);位帶操作:*((volatileunsignedint*)(0x42000000+4*32+3*4)=
0x1;
函數(shù)voidEXTI_Init(EXTI_InitTypeDef*EXTI_InitStruct)有什么功能?
參考答案:
初始化外部中斷功能。
初始化外部中斷1:將GPIOA的1號(hào)引腳作為輸入引腳,中斷模式,上升沿觸發(fā),中斷優(yōu)先級(jí)組為3組,搶占優(yōu)先級(jí)為3,響應(yīng)優(yōu)先級(jí)為1,并使能中斷。
參考答案:
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;GPIO_Init(GPIOA,&GPIO_InitStructure);
SYS
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蠶繭市場(chǎng)需求與消費(fèi)特點(diǎn)分析
- 食品冷凍機(jī)械商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 自動(dòng)變速器產(chǎn)品營(yíng)銷計(jì)劃書
- 漢語(yǔ)拼音2《i u ü 》(教學(xué)設(shè)計(jì))一年級(jí)語(yǔ)文上冊(cè)同步高效課堂系列(統(tǒng)編版2024秋)
- 電腦測(cè)深儀市場(chǎng)需求與消費(fèi)特點(diǎn)分析
- 車用燈具市場(chǎng)發(fā)展預(yù)測(cè)和趨勢(shì)分析
- 縫中設(shè)備產(chǎn)品市場(chǎng)環(huán)境與對(duì)策分析
- 譯碼器商業(yè)機(jī)會(huì)挖掘與戰(zhàn)略布局策略研究報(bào)告
- 重組人胰島素市場(chǎng)發(fā)展預(yù)測(cè)和趨勢(shì)分析
- 電機(jī)產(chǎn)品營(yíng)銷計(jì)劃書
- 中國(guó)文旅特色小鎮(zhèn)發(fā)展研究報(bào)告
- 游戲美術(shù)外包制作合同模版
- 小學(xué)體育與健康人教~年級(jí)全一冊(cè)第三部分體育運(yùn)動(dòng)技能籃球行進(jìn)間運(yùn)球教學(xué) 省賽獲獎(jiǎng)
- 人教版小學(xué)音樂(lè)二年級(jí)上冊(cè)《過(guò)新年》課件
- 安全生產(chǎn)重大隱患治理驗(yàn)收書
- 起重作業(yè)吊裝令
- 人教版九年級(jí)數(shù)學(xué)上冊(cè) 第二十二章 二次函數(shù) 復(fù)習(xí)課件
- 流行性感冒預(yù)防及治療(共29張)課件
- 小學(xué)語(yǔ)文人教六年級(jí)上冊(cè)第四單元-逆境中的成長(zhǎng)-《童年》閱讀交流課教案
- 《酒店人力資源管理》課程教學(xué)大綱
- 濟(jì)寧著名書法家
評(píng)論
0/150
提交評(píng)論