電子人必備資料:最全STM32外設(shè)匯總
STM32系列是ST公司基于專為要求高性能、低成本、低功耗的嵌入式應用專門設(shè)計的ARM Cortex-M3內(nèi)核的32位單片機。按內(nèi)核架構(gòu)分為不同產(chǎn)品:
本文引用地址:http://www.ex-cimer.com/article/201711/370984.htm其中STM32F系列有:STM32F103“增強型”系列、STM32F101“基本型”系列、STM32F105、STM32F107“互聯(lián)型”系列
增強型系列時鐘頻率達到72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品;基本型時鐘頻率為36MHz,以16位產(chǎn)品的價格得到比16位產(chǎn)品大幅提升的性能,是32位產(chǎn)品用戶的最佳選擇。兩個系列都內(nèi)置32K到128K的閃存,不同的是SRAM的最大容量和外設(shè)接口的組合。時鐘頻率72MHz時,從閃存執(zhí)行代碼,STM32功耗36mA,相當于0.5mA/MHz。
在STM32F105和STM32F107互連型系列微控制器之前,意法半導體已經(jīng)推出STM32基本型系列、增強型系列、USB基本型系列、互補型系列;新系列產(chǎn)品沿用增強型系列的72MHz處理頻率。內(nèi)存包括64KB到256KB閃存和 20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三種封裝,不同的封裝保持引腳排列一致性,結(jié)合STM32平臺的設(shè)計理念,開發(fā)人員通過選擇產(chǎn)品可重新優(yōu)化功能、存儲器、性能和引腳數(shù)量,以最小的硬件變化來滿足個性化的應用需求。
stm32外設(shè)有哪些?
外設(shè)指的是單片機外部的外圍功能模塊,比如鍵盤控制芯片,液晶,A/D轉(zhuǎn)換芯片,等等。外設(shè)可通過單片機的I/O,SPI,I2C等總線控制。
常見stm32外設(shè):基本IO、定時器TIM、串口USART、ADC模數(shù)轉(zhuǎn)換、DAC數(shù)模轉(zhuǎn)換、SPI串行通信、EXIT外部中斷、BKP備份數(shù)據(jù)、RTC鬧鐘SysTIck系統(tǒng)滴答、WDG看門狗(獨立+窗口)、DMA傳輸數(shù)據(jù)、片內(nèi)FLASH編程、FSMC讀寫外部SRAM、外部NorFlash操作等。
stm32外設(shè)的初始化和設(shè)置:
在設(shè)置一個外設(shè)前,必須調(diào)用以下一個函數(shù)來使能它的時鐘
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_PPPx, ENABLE);
1,在主應用文件中聲明一個結(jié)構(gòu)PPP_InitTypeDef,例如: PPP_InitTypeDef
PPP_InitStructure;
2,為變量PPP_InitStructure的各個結(jié)構(gòu)成員填入允許的值。可以采用以下2種方式:
a) PPP_InitStructure.member1 = val1;
b) PPP_StrucTInit(&PPP_InitStructure) PP_InitStructure.memberX = valX;
3,調(diào)用函數(shù)PPP_Init()來初始化外設(shè)PPP;
4, 在這一步,外設(shè)PPP已被初始化??梢哉{(diào)用函數(shù)PPP_Cmd( )來使能之。
使用STM32外設(shè)的步驟
1,PPP_Init() 函數(shù),其功能是根據(jù)PPP_InitTypeDef中指定的參數(shù),初始化外設(shè)PPP,如TIM_Init()名為PPP_DeInit()函數(shù),其功能為復位外設(shè)PPP的所有寄存器至缺省值。
2,PPP_StructInit() 函數(shù),其功能為通過設(shè)置PPP_InitTypeDef 結(jié)構(gòu)中的各種參數(shù)來定義外設(shè)的功能,例如:USART_StructInit()
3,PPP_Cmd() 函數(shù),其功能為使能或者失能外設(shè)PPP,例如:SPI_Cmd
4,PPP_ITConfig() 函數(shù),其功能為使能或者失能來自外設(shè)PPP的中斷源,例如:RCC_ITConfig
5,PPP_DMAConfig() 的函數(shù),其功能為使能或者失能外PPP的DMA接口
6,PPP_GetFlagStatus() 的函數(shù),其功能為檢查外設(shè)PPP某標志位被設(shè)置與否
7,PPP_ClearFlag() 的函數(shù),其功能為清除外設(shè)PPP標志位,例如:I2C_ClearFlag.
8,PPP_GetITStatus() 的函數(shù),其功能為判斷來自外設(shè)PPP的中斷發(fā)生與否
9,PPP_ClearITPendingBit() 的函數(shù),其功能為清除外設(shè)PPP中斷待處理標志位
以上就是本篇文章的全部內(nèi)容。
評論