智能小車系統(tǒng)設計-基于STM32 課件 【ch04】實驗2-GPIO與蜂鳴器_第1頁
智能小車系統(tǒng)設計-基于STM32 課件 【ch04】實驗2-GPIO與蜂鳴器_第2頁
智能小車系統(tǒng)設計-基于STM32 課件 【ch04】實驗2-GPIO與蜂鳴器_第3頁
智能小車系統(tǒng)設計-基于STM32 課件 【ch04】實驗2-GPIO與蜂鳴器_第4頁
智能小車系統(tǒng)設計-基于STM32 課件 【ch04】實驗2-GPIO與蜂鳴器_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

實驗2GPIO與蜂鳴器智能小車系統(tǒng)設計——基于STM3201實驗內容通過學習蜂鳴器電路原理圖、STM32系統(tǒng)架構與存儲器組織,以及GPIO功能框圖、寄存器和固件庫函數(shù),設計一個蜂鳴器驅動程序,并通過DbgCar調試組件測試。實驗內容02實驗原理實驗原理蜂鳴器電路原理圖

GPIO與蜂鳴器實驗涉及的硬件包括一個蜂鳴器、與蜂鳴器串聯(lián)的限流電阻R?o。蜂鳴器通過1k2電阻連接到STM32F103RCT6芯片的PD2引腳,如圖4-1所示。PD2引腳為高電平時,蜂鳴器響起;PD2引腳為低電平時,蜂鳴器不工作。實驗原理蜂鳴器電路原理圖

蜂鳴器的工作電流為30mA,但STM32F103RCT6芯片的I/O輸出最大電流為25mA,不適合直接驅動蜂鳴器。實驗原理STM32系統(tǒng)架構與存儲器組織

1.STM32系統(tǒng)架構STM32由4個驅動單元和4個被動單元組成,4個驅動單元分別是Cortex-M3內核、DCode總線、System總線和通用DMA1/DMA2,4個被動單元分別是內部Flash、內部SRAM、FSMC和AHB到APB的橋(AHB2APBx)。STM32系統(tǒng)框圖如圖4-2所示。實驗原理STM32系統(tǒng)架構與存儲器組織

實驗原理STM32系統(tǒng)架構與存儲器組織

2.STM32存儲器映射Cortex-M3只有一個單一固定的存儲器映射,這一點極大地方便了軟件在各種以Cortex-M3為內核的微控制器間的移植。實驗原理STM32系統(tǒng)架構與存儲器組織

實驗原理STM32系統(tǒng)架構與存儲器組織

3.STM32部分片內外設寄存器組起始地址STM32片內外設包括ADC1、ADC2、USART1、USART2、USART3、UART4、UART5、SPI1、SPI2/I2S2、SPI3/I2S3、GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG、TIM1、TIM2、TIM3、TIM4、TIM5、TIM6、TIM7、TIM8、EXTI、AFIO、DAC、PWR、BKP、CAN_TX、CAN_TR、I2C1、I2C2、IWDG、WWDG和RTC。實驗原理STM32系統(tǒng)架構與存儲器組織

GPIO功能框圖

STM32的I/O引腳可以通過寄存器配置為各種不同的功能,如輸入或輸出,所以又被稱為GPIO(GeneralPurposeInputOutput,通用輸入/輸出)。GPIO分為GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF和GPIOG共7組,每組端口又分為0~15共計16個不同的引腳。對于不同型號的STM32核心板,端口的組數(shù)和引腳數(shù)不盡相同,讀者可以參考相應芯片的數(shù)據(jù)手冊。實驗原理實驗原理GPIO功能框圖

1.輸出相關寄存器

輸出相關寄存器包括端口位設置/清除寄存器(GPIOx_BSRR)和端口輸出數(shù)據(jù)寄存器(GPIOx_ODR)。可以通過更改GPIOx_ODR中的值來改變GPIO引腳電平。(GPIOxODR)??梢酝ㄟ^更改GPIOxODR中的值來改變GPIO引腳電平。然而,寫GPIOxODR是一次性更改16個引腳的電平,這樣很容易把一些不需要更改的引腳電平更改為非預期值。實驗原理GPIO功能框圖

2.輸出驅動器

輸出驅動器既可以配置為推挽模式,也可以配置為開漏模式。本實驗的蜂鳴器配置為推挽模式,下面對推挽模式的工作機理進行講解。當輸出驅動器的輸出控制端為高電平時,經(jīng)過反向,上方的P-MOS管導通,下方的N-MOS管關閉,I/O引腳對外輸出高電平;當輸出驅動器的輸出控制端為低電平時,經(jīng)過反向,上方的P-MOS管關閉,下方的N-MOS管導通,I/O引腳對外輸出低電平。實驗原理GPIO功能框圖

3.I/O引腳及保護二極管與I/O引腳相連接的兩個二極管也稱為保護二極管,用于防止引腳過高或過低的外部電壓輸入,當引腳的外部電壓高于Vpp時,上方的二極管導通,當引腳電壓低于Vss時,下方的二極管導通,從而可以防止不正常的電壓引入芯片導致芯片燒毀。實驗原理GPIO部分寄存器STM32的GPIO寄存器地址映射和復位值如表4-2所示。每個GPIO端口有7個寄存器,本實驗涉及的GPIO寄存器包括2個32位端口配置寄存器(GPIOx_CRL、GPIOx_CRH)、1個32位端口輸出數(shù)據(jù)寄存器(GPIOx_ODR),1個32位端口位設置/清除寄存器(GPIOx_BSRR)、1個32位端口位清除寄存器(GPIOx_BRR)。實驗原理實驗原理GPIO部分寄存器1.端口配置寄存器(GPIOx_CRL和GPIOx_CRH)4.2.3節(jié)已經(jīng)介紹了STM32的GPIO可以通過寄存器配置成8種模式。每個GPIO端口具體由CNF[1:0]和MODE[1:0]配置為8種模式中的一種,如表4-3所示。實驗原理實驗原理GPIO部分寄存器2.端口輸出數(shù)據(jù)寄存器(GPIOx_ODR)GPIOxODR是一組GPIO端口16個引腳的輸出數(shù)據(jù)寄存器,只用了低16位。寫數(shù)據(jù)可以控制某組GPIO的輸出電平。GPIOxODR的結構、偏移地址和復位值,以及各個位的解釋說明如圖4-10和表4-5所示。GPIOxODR簡稱為ODR。實驗原理實驗原理GPIO部分寄存器3.端口位設置/清除寄存器(GPIOx_BSRR)GPIOx_BSRR用于設置GPIO端口的輸出位為0或1。該寄存器和ODR具有類似的功能,都可以用來設置GPIO端口的輸出位為0或1。GPIOx_BSRR的結構、偏移地址和復位值,以及各個位的解釋說明如圖4-11和表4-6所示。實驗原理實驗原理GPIO部分寄存器4.端口位清除寄存器(GPIOx_BRR)GPIOxBRR用于設置GPIO端口的輸出位為0,GPIOx_BRR的結構、偏移地址和復位值,以及對部分位的解釋說明如圖4-12和表4-7所示。GPIOx_BRR簡稱為BRR。實驗原理實驗原理GPIO部分固件庫函數(shù)

1.GPIO_InitGPIO_Init函數(shù)的功能是設定PA、PB、PC、PD、PE、PF、PG端口的任意一個引腳的輸入/輸出的配置信息,通過向GPIOx→CRL或GPIOx→CRH寫入?yún)?shù)來實現(xiàn)。同時,該函數(shù)還可以根據(jù)需要初始化STM32的I/O端口狀態(tài),通過向GPIOx→BRR或GPIOx→BSRR寫入?yún)?shù)來實現(xiàn)。實驗原理GPIO部分固件庫函數(shù)

2.GPIO_WriteBitGPIO_WriteBit函數(shù)的功能是設置或清除所選定端口的特定位,通過向GPIOx→BSRR或GPIOx→BRR寫入?yún)?shù)來實現(xiàn)。具體描述如表4-12所示。實驗原理GPIO部分固件庫函數(shù)

3.GPIO_ReadOutputDataBitGPIO_ReadOutputDataBit函數(shù)的功能是讀取指定外設端口的指定引腳的輸出值,通過讀GPIOx→ODR來實現(xiàn)。具體描述如表4-13所示。RCC部分寄存器

本實驗涉及的RCC寄存器只有APB2外設時鐘使能寄存器(RCC_APB2ENR),該寄存器的結構、偏移地址和復位值如圖4-13所示,對部分位的解釋說明如表4-14所示。實驗原理RCC部分固件庫函數(shù)

RCC_APB2PeriphClockCmd函數(shù)的功能是打開或關閉APB2上相應外設的時鐘,通過向RCC→APB2ENR寫入?yún)?shù)來實現(xiàn)。具體描述如表4-15所示。實驗原理03實驗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論