STM32外设有哪些?

judy的头像

STM32系列是ST公司基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核的32位单片机。按内核架构分为不同产品:

STM32外设有哪些?

其中STM32F系列有:STM32F103“增强型”系列、STM32F101“基本型”系列、STM32F105、STM32F107“互联型”系列。

增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是32位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,相当于0.5mA/MHz。

在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、存储器、性能和引脚数量,以最小的硬件变化来满足个性化的应用需求。

STM32外设有哪些?

外设指的是单片机外部的外围功能模块,比如键盘控制芯片,液晶,A/D转换芯片,等等。外设可通过单片机的I/O,SPI,I2C等总线控制。

常见STM32外设:基本IO、定时器TIM、串口USART、ADC模数转换、DAC数模转换、SPI串行通信、EXIT外部中断、BKP备份数据、RTC闹钟SysTIck系统滴答、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的中断发生与否。

9.PPP_ClearITPendingBit() 的函数,其功能为清除外设PPP中断待处理标志位。

转自: 嵌入式资讯精选