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