下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嵌入式系統設計學習通超星期末考試章節(jié)答案2024年Corte-M3/M4處理器復位后執(zhí)行的第一項操作是什么?第二項操作是什么?
答案:第一項操作:從0x00000000地址處將存儲的棧頂指針(一個地址)取出來放在MSP中。第二項操作:從0x00000004地址處將存儲的復位異常應用程序入口地址取出來放在PC中。處理器中的程序從此處開始執(zhí)行。什么是大端模式和小端模式?
答案:在小端格式中,一個字的中低地址的字節(jié)為該字的低有效字節(jié),高地址的字節(jié)為高有效字節(jié)。存儲器系統地址0的字節(jié)與數據線7-0相連。在大端格式中,一個字的中低地址的字節(jié)為該字的高有效字節(jié),而高地址的字節(jié)為低有效字節(jié)。存儲器系統地址0的字節(jié)與數據線31-24相連。試說明異常響應過程。
答案:進入異常/中斷步驟:(1)處理器在當前堆棧上把程序狀態(tài)寄存器、程序計數寄存器、鏈接寄存器、R12、R3~R0八個寄存器自動依次入棧。(2)讀取向量表(如果是復位中斷,則更新堆棧指針的值)。(3)根據向量表更新程序計數寄存器的值。(4)加載新程序計數寄存器處的指令(步驟(2)~步驟(4)與步驟(1)同時進行)。(5)更新鏈接寄存器為EXC_RETURN(EXC_RETURN表示退出異常后返回的模式及使用的堆棧)。退出異常步驟:(1)根據EXC_RETURN指示的堆棧,彈出進入中斷時被壓棧的八個寄存器。(2)從剛出棧的IPSR寄存器[8:0]位檢測恢復到哪個異常(此時為嵌套中斷中),若為0則恢復到線程模式。(3)根據EXC_RETURN,選擇使用相應堆棧指針。編寫C語言,將存儲空間0x40000004單元的3位置位(普通方式和位帶操作)。
答案:普通方式:*((volatileunsignedint*)(0x40000004))
|=
(0x1<<3);位帶操作:*((volatileunsignedint*)(0x42000000+4*32+3*4)=
0x1;嵌入式系統處理器有哪幾種?如何選擇?
答案:嵌入式處理器是嵌入式系統的核心,是控制、輔助系統運行的硬件單元。分為以下幾種:(1)嵌入式微處理器一般用于中高端嵌入式系統應用場景,可跑中大型操作系統。(2)嵌入式微控制器一般用于低端嵌入式系統應用場景,可跑小型操作系統或裸機運行程序。(3)嵌入式DSP一般用于數據運算集中的應用場景。(4)嵌入式SoC在此主要指基于FPGA的SOPC系統,處理器和FPGA系統混合集成。一般應用于通信、數據中心等對數據處理實時性有要求的場景。
嵌入式系統處理器的選擇主要根據應用場景決定。嵌入式實時操作系統定義是什么?典型的嵌入式實時操作系統有哪幾種?
答案:嵌入式實時操作系統主要面向控制、通信等領域。實時操作系統除了要滿足應用的功能需求,還要滿足應用提出的實時性要求,屬于搶占式操作系統。嵌入式實時操作系統能及時響應外部事件的請求,并以足夠快的速度予以處理,其處理結果能在規(guī)定的時間內控制、監(jiān)控生產過程或對處理系統做出快速響應,并控制所有任務協調、一致地運行。典型的嵌入式實時操作系統有VxWork、mCOS-Ⅲ、QNX、FreeRTOS、eCos、RTX及RT-Thread等。試說明Corte-M3/M4處理器兩種模式和兩種特權的使用。
答案:兩種模式:線程模式和處理器模式。這兩種模式可以區(qū)別普通應用程序的代碼和異常服務例程的代碼(包括中斷服務例程的代碼)。兩種特權:特權級和用戶級。提供一種存儲器訪問的保護機制,使得普通的用戶程序代碼不能意外地,甚至惡意地執(zhí)行涉及要害的操作。處理器支持兩種特權級,這也是一個基本的安全模型。什么是CISC、RISC指令系統?二者有什么區(qū)別?
答案:CISC是復雜指令集,指令特征為使用微代碼,計算機性能的提高往往是通過增加硬件的復雜性來獲得的。RISC是精簡指令集,指令特征:RISC包含簡單、基本的指令,這些簡單、基本的指令可以組合成復雜指令。(1)CISC的指令能力強,單多數指令使用率低卻增加了CPU的復雜度,指令是可變長格式;RISC的指令大部分為單周期指令,指令長度固定,操作寄存器,只有Load/Store操作內存(2)CISC支持多種尋址方式;RISC支持方式少(3)CISC通過微程序控制技術實現;RISC增加了通用寄存器,硬布線邏輯控制為主,是和采用流水線(4)CISC的研制周期長(5)RISC優(yōu)化編譯,有效支持高級語言大部分嵌入式系統使用的處理器使用的都是RISC指令集。例如:ARM、MIPS處理器MOVR0,#0xFF000
ADD
R1,R0,#0x7f
執(zhí)行后R1=_______
答案:0xFF07FMOVR1,#0x123450MOV
R0,R1,LSL#4
執(zhí)行后R0=__________
答案:0x1234500MOVR1,#0x123450LDRR0,[R1,#8]
執(zhí)行后R1=__________
答案:0x123450MOVR1,#0x123450LDRR0,[R1,#8]!
執(zhí)行后R1=__________
答案:0x123458MOVR0,#0x12345678ANDR0,#0x0F執(zhí)行后R0=__________
答案:0x08;
8;
0x00000008MOVR4,#5MOVR5,#6MULR3,R4,R5執(zhí)行后R3=_______
答案:30MOVR0,#5MOVR1,#3CMPR0,R1
ADDHIR0,R0,#1
ADDLSR1,R1,#1
執(zhí)行后R0=_______,R1=___________
答案:6;3MOVR0,#0x1234567FBICR0,R0,#0x01執(zhí)行后R0=____
答案:0x1234567EMOVR0,#0x12345678ORRR0,#0x0F執(zhí)行后R0=__________
答案:0x1234567FMVN
R0,#1
執(zhí)行后R0=___________
答案:0xFFFFFFFE編寫一段程序,查找存儲器從0x400000開始的200個字中為0的數目,將其結果存到0x400190中。
答案:MOVR0,#0x400000
MOVR1,#0
MOVR7,#200
LP
LDRR2,[R0],#4
CMPR2,#0
BNENEXT
ADDR1,R1,#1NEXT
SUBSR7,R7,#1
BNELP
LDRR0,=0x400190
STR
R1,[R0]
LOOPB
LOOP編寫程序將R1的高16位數據轉移到R0的低16位中,保存到地址0x40003000單元內
答案:A1
EQU
0x40003000
AREAByteCopY,CODE,READONLY
ENTRY
START
MOVR0,R1,LSR#16
LDRR1,=A1
STRR0,[R1]
END給每條匯編加注釋,并說明整體程序功能。
AREAExample,CODE,READONLY
ENTRY
;____1______Start
MOV
R0,#20
MOV
R1,#10
BL
ADD_SUM
;____2_______
B
OVER
ADD_SUM
;_____3_______
ADD
R0,R0,R1
MOV
PC,LR
;_____4________OVER
END該程序作用:_______________________
答案:程序入口調用子程序ADD_SUM定義子程序ADD_SUMPC=LR子程序ADD_SUM實現R0=R0+R1,主程序調用子程序,實現20+10編寫一個C語言減法函數sub(inta,intb);再編寫一段匯編程序,調用sub函數。
答案:EXPORTasmfile
;可被調用的匯編段AREAasmfile,CODE,READONLY
;聲明匯編程序段IMPORTsub
;聲明調用C語言的cFun函數ENTRY
;主程序起始入口
MOVR0,#33
;將11放入R0
MOVR1,#22
;將22放入R1
BLsub
;調用C語言子函數END/*C語言函數,被匯編語言調用*/intsub(inta,intb)
//聲明一個函數{
returna-b;
//返回a-b的值}閱讀下列程序,給語句加注釋,并分析整體程序功能COUNTEQU0X30003100
AREAEXAMPLE1,CODE,READONLY
;____1_____ENTRYCODE32
;___2____START
LDRR1,=COUNT
;_____3______
LDRR0,[R1]
;____4______
ADDR0,R0,#1
;____5_______
CMPR0,#10
MOVGER0,#0
STRR0,[R1]
;_____6______LOOP
BLOOP
;_____7____
END該程序完成的功能:___________________________
答案:定義代碼段32位ARMCodeR1=COUNT加載存儲器,R0=存儲器0x30003100地址處的值R0=R0+1把R0的值寫入存儲器0x30003100出跳到LOOP存儲器地址0x30003100處的4字節(jié)數據的值,先加1,然后判斷如果大于等于10,就修改為0.如何以本書上定義的寄存器封裝將GPIOH端口(包括16引腳,編號為0~15)的0號、2號、
3號、6號、7號引腳設置為低電平,把1號、8號、9號引腳設置為高電平?請使用兩條C指令完成_______________________。
答案:GPIOH->ODR
&=
~(1<<7|1<<6|1<<3|1<<2|1STM32F29IGT6微控制器的引腳有哪些類型_______________________
答案:引腳類型主要有電源引腳晶振I/O引腳,下載I/O引腳,BOOTI/O引腳,復位I/O引腳及GPIO引腳等寫出STM32F429IGT6微控制器內部Flash的地址范圍__________________
答案:0x08000000-0x081FFFFFSTM32F429IGT6微控制器命名中的32、F、429、I、G、T、6的含義分別是___________?
答案:32表示32位的微控制器F表示基礎型429表示高性能,帶DSP、FPU、LTDC控制器和FMCI表示176引腳G表示1024KBT表示QFP封裝,這是最常用的封裝6表示溫度等級為A:-40~85℃STM32F429IGT6微控制器內部集成的程序存儲器空間大小為______,SRAM的空間大小為_____。
答案:1MB;324KB假設一個寄存器的地址為0x40000400,怎么將數據0x55aa寫入這一寄存器_______________________
答案:*((volatileunsignedint*volatileuint32_tTimingDelay;該語句中volatile的作用是什么?
答案:volatile防止變量TimingDelay在使用過程中被優(yōu)化。請寫出復位異常向量、SVC異常向量和SysTick向量地址。
答案:復位異常向量地址:0x00000004SVC異常向量地址:0x0000002CSysTick向量地址:0x0000003C如何配置1ms的SysTick系統定時函數?
答案:if(SysTick_Config(SystemCoreClock/1000000)){/*SystemCoreClock/1000000超出計數最大值時報錯,程序陷入空循環(huán)*/while(1);}嘗試分析一下STM32F4系列微控制器從復位到main()啟動過程__________________________
答案:(1)
從存儲空間0x00000000處去除棧頂指針到MSP。(2)
從存儲空間0x00000004出讀取復位終端服務程序入口地址到PC。(3)
執(zhí)行SystemInit函數,初始化系統時鐘和外部存儲器接口。(4)
執(zhí)行__main函數,完成堆棧區(qū)域初始化。(5)
點轉到main(/star3/origin/4c80b76674701bc1239c27fafff9e115.png
答案:#defineKEY_ON
1#defineKEY_OFF
0(1)intmain(void){
delay_init(168);
//初始化延時函數
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);//去抖動
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON)
return
KEY_ON;
else
returnKEY_OFF;
}
else
returnKEY_OFF;}列舉GPIO的工作模式。
答案:輸入:(1)輸入浮空模式。(2)輸入上拉模式。(3)輸入下拉模式。模擬:(4)模擬功能模式。輸出:(5)具有上拉/下拉功能的開漏輸出模式。(6)具有上拉/下拉功能的推挽輸出模式。復用:(7)具有上拉/下拉功能的復用功能推挽模式。(8)具有上拉/下拉功能的復用功能開漏模式。編寫程序,將GPIOD的1號、3號、5號、7號、9號引腳配置為推挽輸出模式,速度為50MHz,將0、2號、4號、6號、8號引腳配置為上拉輸入模式。
答案: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);在stm32f429的庫函數中,初始化GPIO功能,使用的庫函數是________________
答案:voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct在stm32f429的庫函數中,使能GPIOA時鐘,使用的庫函數是______________________
答案:RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE在stm32f429的庫函數中,設定某些特定GPIO引腳輸出狀態(tài),使用的庫函數是______________
答案:voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_PinSTM32F429系列微控制器每個GPIO端口有____個引腳。
答案:16控制引腳輸出電平時,需要操作_____寄存器;獲取引腳狀態(tài)需要操作_____寄存器。
答案:ODR;IDR編寫NVIC中斷初始化程序實現如下功能。(1)設置中斷優(yōu)先級組為2組。(2)設置外部中斷2的搶占優(yōu)先級為0,響應優(yōu)先級為2。(3)設置定時器2中斷的搶占優(yōu)先級為2,響應優(yōu)先級為1。(4)設置USART2的中斷搶占優(yōu)先級為3,響應優(yōu)先級為3。
答案:voidNVIC_Configuration(void){NVIC_InitTypeDefNVIC_InitStructure;
//聲明NVIC初始化臨時變量/*將NVIC中斷優(yōu)先級組設置為2組*/NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
//2位搶占優(yōu)先級可以是0~3
//2位響應優(yōu)先級可以是0~3
/*設置中斷源為EXTI2_IRQn*/NVIC_InitStructure.NVIC_IRQChannel=EXTI2_IRQn;
/*設置搶先優(yōu)占級*/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
/*設置響應優(yōu)先級*/NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;
/*使能這一中斷*/NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
/*完成以上中斷的初始化功能*/
NVIC_Init(&NVIC_InitStructure);
/*設置中斷源為TIM2_IRQn*/NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn;
/*設置搶占優(yōu)先級*/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
/*設置響應優(yōu)先級*/NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
/*使能這一中斷*/NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
/*完成以上中斷的初始化功能*/NVIC_Init(&NVIC_InitStructure);
/*設置中斷源為USART2_IRQn*/NVIC_InitStructure.NVIC_IRQChannel=USART2_IRQn;
/*設置搶占優(yōu)先級*/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
/*設置響應優(yōu)先級*/NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
/*使能這一中斷*/NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
/*完成以上中斷的初始化功能*/NVIC_Init(&NVIC_InitStructure);}//初始化函數結束當中斷優(yōu)先級組設置為2組時,搶占優(yōu)先級和響應優(yōu)先級可以分別設置為哪些優(yōu)先級?
答案:搶占優(yōu)先級:0~3響應優(yōu)先級:0~3voidNVIC_Init(NVIC_InitTypeDef*NVIC_InitStruct)函數的參數是個NVIC_InitTypeDef結構體指針,這個結構體維護的成員分別是________、________、__
______、________。
答案:NVIC_IRQChannel;NVIC_IRQChannelPreemptionPriority;NVIC_IRQChannelSubPriority;NVIC_IRQChannelCmd中斷優(yōu)先級編號越小,則其優(yōu)先級越
。
答案:高假定設置中斷優(yōu)先級組為1,然后設置:中斷3(RTC中斷)的搶占優(yōu)先級為1,響應優(yōu)先級為1;中斷6(外部中斷0)的搶占優(yōu)先級為3,響應優(yōu)先級為0;中斷7(外部中斷1)的搶占優(yōu)先級為1,響應優(yōu)先級為6。那么,這3個中斷的優(yōu)先級順序為(由高到底):____________
答案:中斷3、中斷7、中斷6voidNVIC_PriorityGroupConfig(uint32_tNVIC_PriorityGroup)函數用于設置
______
答案:中斷優(yōu)先級組中斷搶占優(yōu)先級高的是否可以搶占優(yōu)先級低的中斷流程?_____
答案:可以/star3/origin/aab622c63e8e2309738c589d075534bb.png
答案:voidEXTI0_Init(){GPIO_InitTypeDefGPIO_InitStructure;EXTI_InitTypeDefEXTI_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;
//-------------------第1步--------------------/*開啟按鍵GPIO口的時鐘*/RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIO,ENABLE);
/*使能SYSCFG時鐘,使用GPIO外部中斷時必須使能SYSCFG時鐘*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);
//-------------------第2步--------------------/*選擇按鍵的引腳*/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);
//-------------------第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)先級組1,整個程序處于同一組*/NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
/*配置中斷源:按鍵1*/NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;/*配置搶占優(yōu)先級:1*/NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;/*配置子優(yōu)先級:1*/NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;/*使能中斷通道*/NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);}voidEXTI9_5_IRQHandler(void){
//確保是否產生了EXTILine中斷
if(EXTI_GetITStatus(EXTI_Line5)!=RESET)
{
//清除中斷標志位
EXTI_ClearITPendingBit(EXTI_Line5);
//LED狀態(tài)轉換
GPIO_ToggleBits(GPIOB,GPIO_Pin_2);
}
}函數voidEXTI_Init(EXTI_InitTypeDef*EXTI_InitStruct)有什么功能?
答案:初始化外部中斷功能。初始化外部中斷1:將GPIOA的1號引腳作為輸入引腳,中斷模式,上升沿觸發(fā),中斷優(yōu)先級組為3組,搶占優(yōu)先級為3,響應優(yōu)先級為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);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource1);
EXTI_InitStructure.EXTI_Line=EXTI_Line1;EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;EXTI_Init(&EXTI_InitStructure);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);
NVIC_InitStructure.NVIC_IRQChannel=EXTI1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);函數SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource0)有什么功能?
答案:連接GPIOA的0號引腳到EXTI0外部中斷信號輸入的觸發(fā)信號形式可以是_1__、_2_、_3_。
答案:上升沿觸發(fā);下降沿觸發(fā);邊沿觸發(fā)外部中斷的中斷0在庫函數啟動文件中定義的默認中斷函數名是____。
答案:EXTI0_IRQHandler每個GPIO引腳都可以作為外部中斷信號輸入引腳,GPIO引腳編號相同的映射到同一個EXTI線,那么GPIOA的0號引腳映射到EXTI線___1_____,GPIOD的0號引腳映射到EXTI線_____2___,GPIOC的5號引腳映射到EXTI線_____3___,GPIOG的10號引腳映射到EXTI線____4____。
答案:0;0;5;10STM32F4的中斷控制器支持_______個外部中斷/事件
答案:23請說明SYSCLK、HCLK、PCLK1及PCLK2這4個時鐘之間的關系。
答案:SYSCLK=HCLK。PCLK1及PCLK2的頻率由RCC時鐘配置寄存器(RCC_CFGR)的PPRE1和PPRE2兩個位域決定。默認系統復位后。PCLK1=HCLK/4PCLK2=HCLK/2闡述PLL的倍頻原理
答案:當鎖相環(huán)處于鎖定狀態(tài)時,鑒相器(PD)的兩輸入端一定是兩個頻率完全一樣但有一定相位差的信號。如果它們的頻率不同,則在壓控振蕩器(VCO)的輸入端一定會產生一個控制信號使壓控振蕩器的振蕩頻率發(fā)生變化,最終使鑒相器(PD)的兩輸入信號(一個是鎖相環(huán)的輸入信號Ui,一個是壓控振蕩器的輸出信號Uo)的頻率完全一樣,則環(huán)路系統處于穩(wěn)定狀態(tài)?;诖嗽?,如果在VCO之后,加一個分頻器(N分頻),在反饋回鎖相環(huán)輸入端,此時輸出信號即為原來的N倍。系統時鐘的三個輸入選擇分別是_____、__、____。
答案:HSI;HSE;PLLCLKSTM32F429微控制器內部的5個時鐘源:__________________________
答案:HSI、HSE、LSI、LSE、PLLCLK四個片上外設時鐘使能函數分別是(只需要函數名):_____1_____,________2______,____3________,________4___________
答案:RCC_AHB1PeriphClockCmd;RCC_AHB2PeriphClockCmd;RCC_APB1PeriphClockCmd;RCC_APB2PeriphClockCmd通過外部時鐘HSE25MHz,經過PLL產生系統時鐘,PLL的M=25,N=180,P=2,則SYSCLK頻率為____MHz
答案:90選擇HSE振蕩器時鐘(8MHz)作為PLL時鐘源,并選擇PLL生成180MHz的系統時鐘,系統時鐘不分頻產生AHB時鐘HCLK=180MHz。當APB1總線4分頻HCLK時鐘,PCLK1=__1___MHz,當APB2總線2分頻HCLK時鐘,PCLK2=__2___MHz,。
答案:45;90TIM1掛載在APB2總線上,在系統時鐘=180MH時,PCLK2=90MHz,TIM1的內部時鐘源=PCLK2*2=180MHz。編程序,使用TIM1產生1s的定時。
答案:TIM_TimeBaseInitTypeDef
TIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;
/*-------------------第1步--------------------*/
//開啟TIM1時鐘
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步--------------------*/
//開啟定時器更新中斷
TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);
//清除定時器更新中斷標志位
TIM_ClearFlag(TIM1,TIM_FLAG_Update);
/*-------------------第3-2步--------------------*/
//設置中斷組為0
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
//設置中斷來源
NVIC_InitStructure.NVIC_IRQChannel=TIM1_UP_TIM10_IRQn;
//設置搶占優(yōu)先級
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
//設置子優(yōu)先級
NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
/*-------------------第4步--------------------*/
//使能定時器
TIM_Cmd(TIM1,ENABLE);什么是PWM信號?什么是占空比?
答案:PWM(PulseWidthModulation):脈沖寬度調制,簡稱脈寬調制。PWM信號:周期內高電平占空比可調的信號。占空比:一個周期內高電平持續(xù)時間與一個周期時間的比值。STM32F429計數寄存器是____,自動重載寄存器是___,預分頻寄存器是____。
答案:TIMx_CNT;TIMx_ARR;TIMx_PSCSTM32F429定時器的計數方式有____、___、____。
答案:遞增計數;遞減計數;中心對齊編程序配置STM32F429微控制器的USART2為以下功能:波特率=9600bps,8位有效數據位、無奇偶校驗、無硬件流控、使能接收和發(fā)送、使能接收中斷。
答案:USART2
發(fā)送引腳TX:PA2USART2
接收引腳RX:PA3voidUSART_Config(void){
GPIO_InitTypeDef
GPIO_InitStructure;
USART_InitTypeDefUSART_InitStructure;
NVIC_InitTypeDef
NVIC_InitStructure;
/*-------------------第1步--------------------*/
/*使能GPIOA時鐘*/
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
/*使能USART2時鐘*/
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
/*-------------------第2步--------------------*/
//配置串口相關復用引腳
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度洗浴中心員工福利保障與激勵合同4篇
- 2024秀嶼區(qū)文印中心綜合性承包經營管理合同3篇
- 2024聘用駕駛員安全保障及應急處理服務合同3篇
- 2025年度智能穿戴設備打膠密封服務合同4篇
- 2025年度智能船舶租賃合作協議模板4篇
- 2025年度玻璃纖維復合材料研發(fā)與市場拓展承包合同3篇
- 2024年租賃合同:設備租賃與維護條款
- 2025年度文化傳播公司員工辭退合同范本4篇
- 2025年度幼兒園食堂承包運營管理合同范本3篇
- 2025年度智慧城市建設戰(zhàn)略合作框架協議范本4篇
- 農民工工資表格
- 【寒假預習】專題04 閱讀理解 20篇 集訓-2025年人教版(PEP)六年級英語下冊寒假提前學(含答案)
- 2024年突發(fā)事件新聞發(fā)布與輿論引導合同
- 地方政府信訪人員穩(wěn)控實施方案
- 小紅書推廣合同范例
- 商業(yè)咨詢報告范文模板
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 幼兒園籃球課培訓
- AQ 6111-2023個體防護裝備安全管理規(guī)范知識培訓
- 老干工作業(yè)務培訓
- 基底節(jié)腦出血護理查房
評論
0/150
提交評論