一、選擇題
1.Cortex-M處理器采用的架構是( D )
(A)v4T (B)v5TE (C)v6 (D)v7
2.NVIC可用來表示優先權等級的位數可配置為是( D )
(A)2 (B)4 (C)6 (D)8
3.Cortex-M系列正式發布的版本是( A )
(A)Cortex-M3 (B)Cortex-M4 (C)Cortex-M6 (D)Cortex-M8
4.Cortex-M3的提供的流水線是( B )
(A)2級 (B)3級 (C)5級 (D)8級
5.Cortex-M3的提供的單周期乘法位數是( C )
(A)8 (B)16 (C)32 (D)64
6.STM32處理器的USB接口可達(B )
(A)8Mbit/s (B)12Mbit/s (C)16Mbit/s (D)24Mbit/s
4.下面是Context-M3處理器代碼執行方式的是( A )
(A)特權方式 (B)普通方式 (C)Handle方式 (D)Thread方式
5.下面是Context-M3處理器的工作模式的是( A )
(A)Thread模式 (B)Thumb模式 (C)Thumb-2模式 (D)Debug模式
6.下列是Cortex – M3處理器可以使用的堆棧的棧是( B )
(A)線程棧 (B)進程棧 (C)多線程棧 (D)空棧
7.Context – M3處理器的寄存器r14代表( B )
(A)通用寄存器 (B)鏈接寄存器 (C)程序計數器 (D)程序狀態寄存器
8.Handle模式一般使用( A )
(A)Main_SP (B)Process_SP (C)Main_SP和Process_SP (D)Main_SP或Process_SP
9.Cortex – M3使用的存儲器格式是( D )
(A)小端格式 (B)大端格式 (C)小端或大端格式 (D)沒有正確答案
10.Cortex – M3的存儲格式中專用外設總線區域可以使用( A )
(A)小端格式 (B)大端格式 (C)小端或大端格式 (D)沒有正確答案
11.每個通用I/O端口有( )個32位的配置寄存器,( )個32位的數據寄存器,( )個32位的置位/復位寄存器,( )個16位的復位寄存器,(B )個32位的鎖定寄存器
(A)2,1,2,1,1 (B)2,2,1,1,1 (C)2,2,2,1,1 (D)2,2,1,2,1
12.( A )寄存器的目的就是用來允許對GPIO寄存器進行原子的讀/修改操作
(A)GPIOX_BSRR和GPIOX_BRR (B)GPIOX_CRL和GPIOX_CRH(C)GPIOX_BSRR和GPIOX_LCKR (D)GPIOX_IDR和GPIOX_ODR
13.所有的GPIO引腳有一個內部微弱的上拉和下拉,當它們被配置為( A )時可以是激活的或者非激活的
(A)輸入 (B)輸出(C)推挽 (D)開漏
14.端口輸入數據寄存器的地址偏移為( B )
(A)00H (B)08H(C)0CH (D)04H
16.端口輸出數據寄存器的地址偏移為( C )
(A)00H (B)08H(C)0CH (D)04H
17.每個I/O端口位可以自由的編程,盡管I/O端口寄存器必須以( D )的方式訪問
(A)16位字 (B)16位字節 (C)32位字節 (D)32位字
18.固件庫中的功能狀態(FunctionalState)類型被賦予以下兩個值( A )
(A)ENABLE或者DISABLE (B)SET或者RESTE
(C)YES或者NO (D)SUCCESS或者ERROR
19.固件庫中的標志狀態(FlagStatus)類型被賦予以下兩個值( C )
(A)ENABLE或者DISABLE (B)SUCCESS或者ERROR
(C)SET或者RESTE (D)YES或者NO
20.STM32F107V有( C )可屏蔽中斷通道
(A)40 (B)50 (C)60 (D)70
21.STM32F107V采用( A )位來編輯中斷的優先級
(A)4 (B)8 (C)16 (D)32
22.向量中斷控制器最多可支持( C )個IRQ中斷
(A)127 (B)128 (C)240 (D)255
23.系統控制寄存器 NVIC 和處理器內核接口緊密耦合,主要目的是(C )
(A)結構更緊湊,減小芯片的尺寸
(B)連接更可靠,減小出錯的概率
(C)減小延時,高效處理 最近發生的中斷
(D)無所謂,沒有特別的意思,遠一點也沒有關系
24.關於中斷嵌套說法正確的是( B )
(A)只要響應優先級不一樣就有可能發生中斷嵌套
(B)只要搶占式優先級不一樣就有可能發生中斷嵌套
(C)只有搶占式優先級和響應優先級都不一才有可能發生中斷嵌套
(D)以上說法都不對
25.在STM32107向量中斷控制器管理下,可將中斷分為( B )組
(A)4 (B)5 (C)6 (D)7
26.中斷屏蔽器能屏蔽( B )
(A)所有中斷和異常 (B)除了NMI外所有異常和中斷
(C)除了NMI、異常所有其他中斷 (D)部分中斷
27.PWM是( A )
28.(A)脈沖寬度調制 (B)脈沖頻率調制 (C)脈沖幅度調制 (D)脈沖位置調制
29.要想使能自動重裝載的預裝載寄存器需通過設置TIMx_CR1寄存器的( B )位
(A)UIF (B)ARPE (C)UG (D)URS
30.以下對於STM32 ADC描述正確的是(B )
(A)STM32 ADC是一個12位連續近似模擬到數字的轉換器
(B)STM32 ADC是一個8位連續近似模擬到數字的轉換器
(C)STM32 ADC是一個12位連續近似數字到模擬的轉換器
(D)STM32 ADC是一個8位連續近似數字到模擬的轉換器
31.ADC轉換過程不含哪項( D )
(A)采樣 (B)量化 (C)編碼 (D)逆采樣
32.ADC轉換過程正確的是( A )
(A)采樣—量化—編碼(B)量化—采樣—編碼
(C)采樣—編碼—量化(D)編碼—采樣—量化
33.下列哪項不是ADC轉換器的主要技術指標( B )
(A)分辨率 (B)頻率 (C)轉換速率 (D)量化誤差
34.以下對STM32F107集成A/D的特性描述不正確的是(B )
(A)12位精度 (B)單一轉換模式
(C)按通道配置采樣時間(D)數據對齊方式與內建數據一致
35.以下對STM32F107集成A/D的特性描述正確的是( B )
(A)供電需求: 2.6V到3.8V
(B)輸入范圍:VREF-≤VIN≤VREF+
(C)性能線設備的轉換時間:28MHz時為1us
(D)訪問線設備的轉換時間:56MHz時為1us
36.以下為STM32的GPIO端口配置寄存器的描述,在GPIO控制LED電路設計時,要使最大輸出速度為10MHz,應該設置( B )
(A)CNFy[1:0] (B)MODEy[1:0]
(C)MODE (D)CNF
37.以下為GPIO端口配置寄存器的描述,在GPIO控制LED電路設計時,要使最大輸出速度為2MHz,應該設置MODE[1:0]值為( C )
(A)00 (B)01
(C)10 (D)11
38.. 已知TIM1定時器的起始地址為0x4001 2C00,則定時器1的捕獲/比較寄存器1的地址為( D )
(A)0x4001 2C20 (B)0x4001 2C2C
(C)0x4001 2C38 (D)0x4001 2C34
39.已知TIM1定時器的起始地址為0x4001 2C00,則定時器1的捕獲/比較寄存器2的地址為( C )
(A)0x4001 2C20 (B)0x40012C2C
(C)0x4001 2C38 (D)0x4001 2C34
40.SysTick定時器校正值為( B )
(A)9000 (B)10000
(C)12000 (D)15000
41.SysTick定時器的中斷號是( C )
(A)4 (B)5
(C)6 (D)7
42.上圖中Tamper連接了STM32F10X的PC13GPIO,PC13通用IO端口映射到外部中斷事件線上是( D )
(A)EXTI線14 (B)EXTI線15
(C)EXTI線12 (D)EXTI線13
43.上圖中WKUP連接了STM32F10X的PA0 GPIO,PA0通用IO端口映射到外部中斷事件線上是( A )
(A)EXTI線0 (B)EXTI線1
(C)EXTI線2 (D)EXTI線3
44./** @addtogroup Peripheral_registers_structures
* @{
*/
/**
* @brief Analog to Digital Converter
*/
typedef struct
{
__IO uint32_t SR;
__IO uint32_t CR1;
__IO uint32_t CR2;
__IO uint32_t SMPR1;
__IO uint32_t SMPR2;
__IO uint32_t JOFR1;
__IO uint32_t JOFR2;
__IO uint32_t JOFR3;
__IO uint32_t JOFR4;
__IO uint32_t HTR;
__IO uint32_t LTR;
__IO uint32_t SQR1;
__IO uint32_t SQR2;
__IO uint32_t SQR3;
__IO uint32_t JSQR;
__IO uint32_t JDR1;
__IO uint32_t JDR2;
__IO uint32_t JDR3;
__IO uint32_t JDR4;
__IO uint32_t DR;
} ADC_TypeDef;
ADC注入通道數據偏移寄存器有4個,其偏移地址為14H-20H,JOFR1的偏移地址為( D )
(A)0x20 (B)0x1c
(C)0x18 (D)0x14
45./** @addtogroup Peripheral_registers_structures
* @{
*/
/**
* @brief Analog to Digital Converter
*/
typedef struct
{
__IO uint32_t SR;
__IO uint32_t CR1;
__IO uint32_t CR2;
__IO uint32_t SMPR1;
__IO uint32_t SMPR2;
__IO uint32_t JOFR1;
__IO uint32_t JOFR2;
__IO uint32_t JOFR3;
__IO uint32_t JOFR4;
__IO uint32_t HTR;
__IO uint32_t LTR;
__IO uint32_t SQR1;
__IO uint32_t SQR2;
__IO uint32_t SQR3;
__IO uint32_t JSQR;
__IO uint32_t JDR1;
__IO uint32_t JDR2;
__IO uint32_t JDR3;
__IO uint32_t JDR4;
__IO uint32_t DR;
} ADC_TypeDef;
ADC注入通道數據偏移寄存器有4個,其偏移地址為14H-20H,JOFR2的偏移地址為( B )
(A)0x14 (B)0x18
(C)0x1c (D)0x20
46.Cortex-M3的提供的流水線是( B )
(A)2級 (B)3級
(C)5級 (D)8級
47.Contex – M3處理器的寄存器r14代表( B )
(A)通用寄存器
(B)鏈接寄存器
(C)程序計數器
(D)程序狀態寄存器
48.固件庫中的功能狀態(FunctionalState)類型被賦予以下兩個值( A )
(A)ENABLE或者DISABLE
(B)SET或者RESTE
(C)YES或者NO
(D)SUCCESS或者ERROR
49.固件庫中的標志狀態(FlagStatus)類型被賦予以下兩個值( C )
(A)ENABLE或者DISABLE
(B)SUCCESS或者ERROR
(C)SET或者RESTE
(D)YES或者NO
50.DMA控制器可編程的數據傳輸數目最大為( A )。
A.65536 B.65535
C.1024 D.4096
51.STM32中,1個DMA請求占用至少(B )個周期的CPU訪問系統總線時間。
A.1 B.2
C.3 D.4
52.STM32的USART根據( A)寄存器M位的狀態,來選擇發送8位或者9位的數據字。
A.USART_CR1 B.USART_CR2
C.USART_BRR D.USART_CR3
53.下面不屬於STM32的bxCAN的主要工作模式為(C )。
A.初始化模式 B.正常模式
C.環回模式 D.睡眠模式
54.和PC系統機相比嵌入式系統不具備以下哪個特點( C )。
A、系統內核小 B、專用性強
C、可執行多任務 D、系統精簡
55.嵌入式系統有硬件和軟件部分構成,以下( C)不屬於嵌入式系統軟件。
A. 系統軟件 B.驅動 C. FPGA編程軟件 D.嵌入式中間件
56.在APB2上的I/O腳的翻轉速度為( A)。
A.18MHz B.50MHz
C.36MHz D.72MHz
57.當輸出模式位MODE[1:0]=“10”時,最大輸出速度為( B)。
A.10MHz B.2MHz
C.50MHz D.72MHz
58.在ADC的掃描模式中,如果設置了DMA位,在每次EOC后,DMA控制器把規則組通道的轉換數據傳輸到( A )中。
A.SRAM B.Flash
C.ADC_JDRx寄存器 D.ADC_CR1
59.STM32規則組由多達( A )個轉換組成。
A.16 B.18
C.4 D.20
60.在STM32中,( A )寄存器的ALIGN位選擇轉換后數據儲存的對齊方式。
A.ADC_CR2 B.ADC_JDRx
C.ADC_CR1 D.ADC_JSQR
61.ARM Cortex-M3不可以通過(D )喚醒CPU。
A.I/O端口 B.RTC鬧鍾
C.USB喚醒事件 D.PLL
62.STM32嵌套向量中斷控制器(NVIC)具有( A) 個可編程的優先等級。
A.16 B.43
C.72 D.36
64.STM32的外部中斷/事件控制器(EXTI)支持(C )個中斷/事件請求。
A.16 B.43
C.19 D.36
65.STM32的USART根據(A )寄存器M位的狀態,來選擇發送8位或者9位的數據字。
A.USART_CR1 B.USART_CR2
C.USART_BRR D.USART_CR3
66.DMA控制器可編程的數據傳輸數目最大為(A)。
A.65536 B.65535
C.1024 D.4096
67.每個DMA通道具有(A )個事件標志。
A.3 B.4
C.5 D.6
68.STM32中,1個DMA請求占用至少( B)個周期的CPU訪問系統總線時間。
A.1 B.2
C.3 D.4
二、判斷題
1.Cortex-M3系列處理器支持Thumb指令集。( 錯 )
2.Cortex-M3系列處理器支持Thumb-2指令集。( 對 )
3.Contex-M3系列處理器內核采用了哈佛結構的三級流水線。( 對 )
4.Cortex-M系列不支持Thumb-2指令集。( 錯 )
5.Contex-M3系列處理器內核采用了馮諾依曼結構的三級流水線。( 錯 )
6.STM32系列MCU在使用電池供電時,提供3.3~5V的低電壓工作能力。( 錯 )
7.STM32處理器的LQPF100封裝芯片的最小系統只需7個濾波電容作為外圍器件。(dui )
8.Cortex-M3在待機狀態時保持極低的電能消耗,典型的耗電值僅為2µA。( 錯 )
9.當處理器在Thread模式下,代碼一定是非特權的。( 錯 )
10.Context-M3處理器可以使用4個堆棧。( 錯 )
11.在系統復位后,所有的代碼都使用Main棧。( 對 )
12.高寄存器可以被所有的32位指令訪問,也可以被16位指令訪問。( 錯 )
13.在系統層,處理器狀態寄存器分別為:APSR,IPSR, PPSR。( 錯 )
14.APSR程序狀態寄存器的28位,當V=0,表示結果為無益處。( 對 )
15.Cortex-M3只可以使用小端格式訪問代碼。( 錯 )
16.所謂不可屏蔽的中斷就是優先級不可調整的中斷。( 錯)
17.向量中斷控制器只負責優先級的分配與管理,中斷的使能和禁止和它無關。( 錯 )
18.Cortex-M3體系架構中,有了位帶位操作后,可以使用普通的加載/存儲指令來對單一的比特進行讀寫。(對)
19.Cortex-M3體系架構中,有兩個區中實現了位帶:一個是 SRAM區的最低 1MB范圍,第二個則是片內外設 區的最低1MB范圍。(對)
20.stm3210xx的固件庫中,RCC_DeInit函數是將RCC寄存器重新設置為默認值。(對)
21.stm3210xx的固件庫中,RCC_PCLK2Config函數是用於設置低速APB時鍾。(錯 )
22.STM32的串口既可以工作在全雙工模式下,也可工作在半雙工模式下。( 對)
23.STM32的串口既可以工作在異步模式下,也可工作在同步模式下。(對)
24.每個I/O端口位可以自由的編程,盡管I/O端口寄存器必須以32位字的方式訪問。(對)
25.所有的GPIO引腳有一個內部微弱的上拉和下拉,當它們被配置為輸入時可以是激活的或者非激活的。( 對)
26.所有的GPIO引腳有一個內部微弱的上拉和下拉,當它們被配置為輸出時可以是激活的或者非激活的。(錯 )
27.端口輸入數據寄存器的復位值為00000000H。( 對)
28.端口輸入數據寄存器位[15:0]是只讀的,並且僅能按字訪問,它們包含相關I/O端口的輸入值。(對 )
29.端口輸入數據寄存器位[7:0]是只讀的,並且僅能按字訪問,它們包含相關I/O端口的輸入值。( 錯)
30.固件包里的Library文件夾包括一個標准的模板工程,該工程編譯所有的庫文件和所有用於創建一個新工程所必須的用戶可修改文件。( 錯)
31.從是否可編程的角度 ,中斷可分為固定優先級中斷和可調整優先( 對 )
32.從某種意義上說,異常就是中斷。(對 )
33.所謂不可屏蔽的中斷就是優先級不可調整的中斷。( 錯)
34.向量中斷控制器只負責優先級的分配與管理,中斷的使能和禁止和它無關。(錯)
35.中斷的優先級和它在中斷向量表里的位置沒有關系。( 錯)
36.當搶占式優先級不一樣時,一定會發生搶占。( 錯)
37.向量中斷控制器允許有相同的優先級。( 對)
38.如果兩個中斷的搶占式優先級相同,則按先來后到的順序處理。(對 )
39ADC主要完成模/數轉換功能。( 對)
40.STM32 ADC是一個12位的連續近似模擬到數字的轉換器。( 對)
41.ADC轉換器在每次結束一次轉換后觸發一次DMA傳輸。(對)
42.由AD的有限分辨率而引起的誤差稱為量化誤差。(對)
43.轉換速率是指完成一次從模擬到數字的AD轉換所需的時間。( 對)
44.STM32 ADC只可以在單一模式下工作。( 錯)
45.如果規則轉換已經在運行,為了注入轉換后確保同步,所有的ADC的規則轉換被停止,並在注入轉換結束時同步恢復。( 對)
三、填空題
1.ST公司的STM32系列芯片采用了 Cortex-M3 內核,其分為兩個系列。 STM32F101
系列為標准型,運行頻率為 36MHZ ; STM32F103 系列為標准型,運行頻率為 72MHZ 。
2.當STM32的I/O端口配置為輸入時, 輸出緩沖器 被禁止, 施密特觸發輸入被激活。根據輸入配置(上拉,下拉或浮動)的不同,該引腳的 弱上拉和下拉電阻 被連接。出現在I/O腳上的數據在每個APB2時鍾被采樣到輸入數據寄存器,對 輸入數據寄存器的讀訪問可得到I/O狀態。
3.STM32的所有端口都有外部中斷能力。當使用 外部中斷線 時,相應的引腳必須配置成 輸入模式 。
4.STM32具有單獨的位設置或位清除能力。這是通過 GPIOX_BSRR 和 GPIOX_BRR 寄存器來實現的。
5.ST公司還提供了完善的通用IO接口庫函數,其位於 stm32f10x_bgpio.c ,對應的頭文件為 stm32f10x_gpio.h 。
6.為了優化不同引腳封裝的外設數目,可以把一些 復用功能 重新映射到其他引腳上。這時,復用功能不再映射到 它們原始分配的引腳 上。在程序上,是通過設置 復用重映射和調試I/O口配置寄存器(AFIO_MAPR) 來實現引腳的重新映射。
7.STM32芯片內部集成的 12 位ADC是一種逐次逼近型模擬數字轉換器,具有 18
個通道,可測量 16 個外部和 2 個內部信號源。
8.在STM32中,只有在 規則通道 的轉換結束時才產生DMA請求,並將轉換的數據從 ADC_DR 寄存器傳輸到用戶指定的目的地址。
9.在有兩個ADC的STM32器件中,可以使用 雙ADC模式。在 雙ADC 模式里,根據 ADC_CR1 寄存器中 DUALMOD[2:0] 位所選的模式,轉換的啟動可以是ADC1主和ADC2從的交替觸發或同時觸發。
10.ADC的校准模式通過設置 ADC_CR2 寄存器的 CAL 位來啟動。
11.在STM32中, ADC_CR2 寄存器的 ALIGN 位選擇轉換后數據儲存的對齊方式。
12.在STM32內部還提供了 溫度傳感器,可以用來測量器件周圍的溫度。溫度傳感器在內部和 ADC_IN16 輸入通道相連接,此通道把傳感器輸出的電壓轉換成數字值。內部參考電壓 VREFINT和 ADC_IN17 相連接。
13.STM32的 嵌入向量中斷控制器(NVIC) 管理着包括Cortex-M3核異常等中斷,其和ARM處理器核的接口緊密相連,可以實現 低延遲 的中斷處理,並有效地處理 晚到中斷。
14.STM32的外部中斷/事件控制器(EXTI)由 19 個產生事件/中斷要求的邊沿檢測器組成。每個輸入線可以獨立地配置 輸入類型(脈沖或掛起)和對應的觸發事件(上升沿或下降沿或者雙邊沿都觸發) 。每個輸入線都可以被獨立的屏蔽。 掛起寄存器 保持着狀態線的中斷要求。
15.STM32的EXTI線16連接到 PVD輸出 。
16.STM32的EXTI線17連接到 RTC鬧鍾事件 。
17.STM32的EXTI線18連接到 USB喚醒事件 。
18.STM32的 USART 為通用同步異步收發器,其可以與使用工業標准 NRZ 異步串行數據格式的外部設備之間進行全雙工數據交換。
19.STM32的USART可以利用 分數波特率 發生器提供寬范圍的波特率選擇。
20.智能卡是一個 單線半雙工 通信協議,STM32的智能卡功能可以通過設置USART_CR3寄存器的 SCEN 位來選擇。
22.系統計時器(SysTick)提供了1個 24位,降序,的計數器,具有靈活的控制機制
23.STM32的通用定時器TIM,是一個通過 可編程預分頻器 驅動的 16 位自動裝載計數器構成。
24.STM32通用定時器TIM的16位計數器可以采用三種方式工作,分別為 向上計數模式、 向下計數 模式和 中央對其 模式。
25.ST公司還提供了完善的TIM接口庫函數,其位於 stm32f10x_tim.c ,對應的頭文件為 stm32f10x_tim.h。
26.TIM1的 益處/下益時更新事件(UEV) 只能在重復向下計數達到0的時候產生。這對於能產生PWM信號非常有用。
27.TIM1具備 16位可編程預分頻器,時鍾頻率的分頻系數為 1~65535 之間的任意數值。
28.STM32系列ARM Cortex-M3芯片支持三種復位形式,分別為 系統 復位、 電源 復位和 備份區域 復位。
29.STM32還提供了用戶可通過多個預分頻器,可用來進一步配置 AHB 、高速 APB(APB2 ) 和低速APB(APB1 ) 域的頻率。
30.用戶可用通過 32.768K Hz外部振盪器,為系統提供更為精確的主時鍾。在時鍾控制寄存器 RCC_CR中的 HSERDY 位用來指示高速外部振盪器是否穩定。
31.ST公司還提供了完善的RCC接口庫函數,其位於 stm32f10x_rcc.c ,對應的頭文件為 stm32f10x_rcc.h。
32.當STM32復位后, HSL振盪器 將被選為系統時鍾。當時鍾源被直接或通過PLL間接作為系統時鍾時,它將不能被 停止 。只有當 目標時鍾源准備就緒了(經過啟動穩定階段的延遲或PLL穩定),才可以從一個時鍾源切換到另一個時鍾源。在被選擇時鍾源沒有就緒時,系統時鍾的切換 不會發生。
33.在STM32中,備份寄存器是 16位的寄存器,共 10 個,可以用來存儲 20 個字節的用戶應用程序數據。
34.備份寄存器位於 備份區 里,當 主電源VDD 被切斷,他們仍然由 VBAT 維持供電。當系統在待機模式下被喚醒,或系統復位或電源復位時,他們 也不會 被復位。
35.STM32的備份寄存器還可以用來實現 RTC 校准功能。為方便測量,32.768kHz的RTC時鍾可以輸出到 入侵檢測 引腳上。通過設置RTC校驗寄存器(BKP_RTCCR)的
CCO 位來開啟這一功能。
36.當STM32的 ANTI_TAMP 引腳上的信號發生跳變時,會產生一個侵入檢測事件,這將使所有數據備份寄存器 復位。
37.ST公司還提供了完善的備份寄存器接口庫函數,其位於stm32f10x_bkp.c,對應的頭文件為 stm32f10x_bkp.h 。
38.STM32的DMA控制器有 7 個通道,每個通道專門用來管理來自於一個或多個外設對存儲器訪問的請求。還有一個 仲裁器 來協調各個DMA請求的優先權。
39.在DMA處理時,一個事件發生后,外設發送一個請求信號到 DMA控制器 。DMA控制器根據通道的 優先權 處理請求。
40.DMA控制器的每個通道都可以在有固定地址的 外設寄存器和 存儲器地址 之間執行DMA傳輸。DMA傳輸的數據量是可編程的,可以通過 DMA_CCRX 寄存器中的 PSIZE 和 MSIZE 位編程。
41.ST公司還提供了完善的DMA接口庫函數,其位於 stm32f10x_dma.c ,對應的頭文件為 stm32f10x_dma.h。
45.在STM32中,從外設(TIMx、ADC、SPIx、I2Cx和USARTx)產生的7個請求,通過邏輯 與 輸入到DMA控制器,這樣同時 只能有一個 個請求有效。
四、簡答題
1、什么是嵌入式系統?嵌入式系統一般由哪幾部分構成? P1
2、ARM v7的體系結構可以分為哪幾個子版本(款式),分別應用在什么領域?P12
3、Cortex-M3的處理器有那兩種工作模式和狀態?如何進行工作模式和狀態的切換?P18
4、Cortex-M3的存儲空間可以分為哪幾個部分,每一部分的地址范圍是怎樣的?P26
5、什么是位綁定區、位綁定別名區?它們有怎樣的關系?P30~31
6、基於CMSIS標准的軟件架構分為那幾層?其中的CMSIS層一般由哪幾部分組成?P66
7、簡述STM32固件庫命名規則。
8、STM32共有那幾種基本時鍾信號?
9、簡述設置系統時鍾的基本流程。P86
10、STM32的GPIO的配置模式有那幾種?如何進行配置模式的配置?P93
11、簡述STM32的不同復用功能的重映射功能。
12、簡述嵌套向量中斷控制器(NVIC)的主要特性。P38
13、簡述STM32的優先級划分與搶占的過程。P110
14、簡述STM32的USART的功能特點。
15、如何設置STM32的串口的波特率。P136
16、STM32高級定時器有哪些功能?
17、已知STM32的系統時鍾為72MHz,如何設置相關寄存器,實現20ms定時?
18、簡述DMA控制器的基本功能。
19、、請描述DMA通道的工作模式、工作原理。
20、簡述STM32的ADC系統的功能特性。
21、簡述STM32的雙ADC工作模式。
五、編程與應用題
1、在一個STM32點亮LED的程序中,部分代碼如下:
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
…
while (1)
{
/*循環點亮LED*/
GPIO_WriteBit(GPIOA, GPIO_Pin_2, (BitAction)0x01); //①
Delay(0XFFFFF);
GPIO_WriteBit(GPIOA, GPIO_Pin_2, (BitAction)0x00); //②
Delay(0XFFFFF);
GPIO_WriteBit(GPIOA, GPIO_Pin_3, (BitAction)0x01); //③
Delay(0XFFFFF);
GPIO_WriteBit(GPIOA, GPIO_Pin_3, (BitAction)0x00); //④
Delay(0XFFFFF);
}
(1)簡述GPIO_Configuration函數對IO接口配置的步驟;
解:設置引腳、設置速率、設置模式
(2)分析該程序,LED分別連接在哪些IO引腳上,當引腳輸出高電平時,是點亮還是熄滅LED?
解:點亮
(3)分析循環點亮LED代碼,補充相應的注釋。
解:點亮連接的PA2上的LED燈、熄滅.....、點亮連接PA3上的LED、熄滅......
(4)庫函數GPIO_SetBits和GPIO_ResetBits的原形如下,用這兩個函數重寫循環點亮LED代碼。第五章P107方法5
2、利用STM32的GPIO接口及其操作,實現4個LED按照LED1、LED2、LED3、LED4的順序循環顯示。硬件連接圖如圖所示。
解:參照第一題
3、已知系統時鍾為72MHz,采用定時器TIM1產生周期為100ms的定時時間間隔並通過LED發光二極管指示定時過程。P156 P161 2~4步
解:T=
4、下面的程序利用TIM3產生PWM信號。
頻率:TIM3CLK = 36MHz,Prescaler = 0x0,得到TIM3 counter clock = 36MHz。TIM3 ARR
Register = 999,進而設定TIM3頻率 = TIM3 counter clock/(ARR + 1)= 36kHz。
TIM3通道1的占空比 =(TIM3_CCR1/ TIM3_ARR×100 = 50%,通道2、3、4的占空
比分別是37.5%、25%、12.5%。
解:不考