最全复习嵌入式STM32知识点总结

                                                         STM32F103系列


STM32:芯片系列  F:芯片类型    103:芯片子系列    R:引脚数目    B:FLASH容量    T:封装信息    6:工作温度范围
STM32:系统内核小、专用性强、系统精简
Lx系列:低功耗
F0/1/3系列:均衡型
F2/4/7系列:高性能
ARM Cortex-M3处理器系列基于ARMv7架构的产品
STM32F103ZET6有7个端口(A、B、C、D、E、F、G),每个端口16个引脚(0~15)
采用哈佛结构:程序指令存储和数据存储分开的存储器结构
第一章    基础知识
总线系统:驱动单元、被动单元、总线矩阵
APB1:TIM2~7、I2C1/I2C
APB2:GPIOA/GPIOB/GPIOC/GPIOD/GPIOE、ADC1/ADC2、AFIO、USART1、TIM1、SPI1
STM32有5个时钟源,HSI、HSE、LSE、LSI、PLL
VDDA工作电压:2.4v~3.6v
VBAT引脚工作电压1.8v~3.6v
NRST:复位引脚
单片机软件接口标准英文缩写:CMSIS---------核内外访问层、中间件访问层、设备外访问层
CMSIS软件架构:用户应用层、操作系统及中间件接口层、CMSIS、硬件层
第四章    GPIO
输出速率:2MHz、10MHz、50MHz
8个输入输出模式
模拟输入(GPIO_Mode_AIN):不经过施密特触发器,ADC输入
浮空输入(GPIO_Mode_IN_FLOATING):直接读取,悬空
上拉输入(GPIO_Mode_IPU):默认高电平
下拉输入(GPIO_Mode_IPD):默认低电平
推挽输出【高低】(GPIO_Mode_Out_PP):直接输出高低电平
//开漏输出【高】(GPIO_Mode_Out_OD):不输出电压,想输出高电平必须接上拉电阻,只能输出低电平
复用推挽输出(GPIO_Mode_AF_PP):I2C的SCL、SDA
复用开漏输出(GPIO_Mode_AF_OD):SPI的SCK、MOSI、MISO
结构体

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE)
GPIO_InitTypeDef  G;
G.GPIO_Mode=GPIO_Mode_Out_PP;
G.GPIO_Pin=GPIO_Pin_1;
G.GPIO_Speed=GPIO_Speed_50MHz;


第五章    EXTI
中断源:可以引起的中断的--->事件
中断向量:中断服务程序的入口地址
固件库的标志状态(FlagStatus)类型被赋予两个值,SET或RESET
中断屏蔽器能屏蔽除了NMI外所有异常和中断
外部中断NVIC、EXTI控制
结构:最多84个中断,16个内核中断,68个可屏蔽中断,,16级可编程的中断优先级
m3 内核支持 256 个中断(16 个内核+240 外部),STM32支持15个异常和68个中断
F103系列:60个可屏蔽中断
F107系列:68个可屏蔽中断
中断触发方式:上升沿触发、下降沿触发、双边沿触发
单片机与外设交换数据的三种方式:1.无条件传输方式、2.程序查询方式、3.中断方式
固定优先级中断有:1.Reset:复位、2.NMI:不可屏蔽中断、3.硬件失效

EXTI_InitTypeDef E;
E.EXTI_Line=EXTI_Line0;
E.EXTI_Mode=EXTI_Mode_Interrupt;
E.EXTI_Trigger=EXTI_Trigger_Falling;
E.EXTI_LineCmd=ENABLE;
EXTI_Init(&E);

NVIC
中断有3个优先级是固定的
有两个属性,抢占和响应,属性编号越小,优先级越高
    当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,
    如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。

NVIC_InitTypeDef  N;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
N.NVIC_IRQChannel=EXTI0_IRQChannel;
N.NVIC_IRQChannelPreemptionPriority=0;
N.NVIC_IRQChannleSubPriority=1;
N.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&N);


第六章    USART
UART和USART的区别,USART能提供主动时钟
串行通信
CPU与外围设备之间的信息交换称为--通信
并行通信和串行通信
硬件上,单工通信、半双工通信、全双工通信
传输形式:字长:可以8b或9b,
起始位:低电平,停止位:高电平,空闲帧:全1    口诀:起“低”,停空“高”
其中00代表1个停止位
串行异步通信的发送和接收端的波特率一般为发送和接收端相同
USART_GTPR:是保护时间和预分频寄存器
USART_DR:数据寄存器
USART_CR:
USART_SR:状态寄存器    TC为1,表示发送完成
USART_CR1寄存器M位的状态,来选择发送8位或者9位的数据字
USART引脚包括:接收数据收入RX、发送数据TX,、清除发送CTS、发送请求RTS、发送器时钟输出CK
波特率:Bit/s

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE1);
USART_InitTypeDef  U;
U.UASRT_BaudRate=9600;
U.USART_WordLength=USART_WordLength_8b;
U.USART_StopBits=USART_StopBits_1;
U.USART_Parity=USART_Parity_No;
U.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
U.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
USART_Init(&U);
USART_Cmd(USART,ENABLE);

USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//使能USART1接收中断


第七章    TIM
工作频率最高可达72MHz
定时/计数器时钟的时钟源包括:内部时钟、外部时钟模式1、外部时钟模式2、--内部触发输入
外部时钟模式1,可用于输入捕获/输出比较
当使用定时功能时,TIMx_SMCR寄存器的SMS的值设为000
高级定时特有的功能是输出比较信号死区产生
内部时钟用于定时功能的时钟源
APB1:TIM2
计数寄存器16位不包括:捕获/比较寄存器
影子寄存器:预分频器、捕获/比较寄存器、自动重装载器寄存器
32有8个定使计数器:TIM1/TIM8:高级定时器、TIM6/TIM7:基本定时器、TIM2~TIM5:通用定时器
计数模式:向上计数模式、向上计数模式、中央对齐模式
功能:定时、外部事件计数、输入捕获、单脉冲输出、正交编码器、霍尔传感器输入、输出比较信号死区产生、制动信号输入功能
--时钟单元:预分频器,计数器、16位自动重装载器
通用定时器的功能寄存器:
计数寄存器(时基单元);计数器(TIMx_CNT)、预分频器(TIMx_PSC)、自动重载寄存器(TIMx_ARR)
控制寄存器:捕捉/比较寄存器(TIMx_CCR1)
状态寄存器:

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3);
TIM_TIMBaseInitTypeDef T;
T.TIM_Prescler=7200-1;
T.TIM_CounterMode=TIM_CounterMode_Up;
T.TIM_Period=1000;
TIM_TimeBaseInit(TIM3,&T);
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
TIM_Cmd=(TIM3,ENABLE);


第八章    DMA
作用:为CPU减负
分辨率:-
TIM3_CH1产生请求,输入到DMSC,映射到通道6 DMA通道
DMA用来提供外设与外设之间、外设与存储器时间、存储器与存储器之间的告诉传输,无需CPU干预
数据以通过DMA快速传输,节省CPU资源
每个DMA通道具有3个事件标志
最大数据传输数目最大为65536
DMA_CPARx:外设地址寄存器
函数DMA_GetFlagStatus(DMA1_FLAG_HT6):会影响DMA_ISR寄存器
DMA仲裁器可以通过软件设置:最高优先级、高优先级、中等优先级、低优先级
一个DMA过程:DMA请求、DMA响应、DMA传输、DMA结束;
结构:2个DMA,DMA1:7个通道    DMA2:5个通道
工作模式:循环和非循环
每个通道有3个事件标志:DMA半传输、DMA传输完成、DMA传输出错
数据传输最大数目:65536
总线矩阵:循环优先调度、多层结构和总线挪用
第九章    ADC
ADC是12位
输入通道:
1.直接IO口输入
2.模拟信号
输出通道:
1.模/数转换
2.功率放大驱动
3.干扰信号防治
--性能指标
分辨率
量化误差

ADC_InitTypeDef A;
A.ADC_Mode=ADC_Mode_Independent;
A.ADC_ScanConvMode=ENABLE;
A.ADC_ContinuousConvMode=DISABLE;
A.ADC-ExternalTrigConv=ADC_ExternalTrigConv_Ext_IT11;
A.ADC_DataAlign=ADC_DataAlign_Right;
A.ADC_NbrOfChannel=16;
ADC_Init(ADC1,&A);


第十章    I2C
I2C总线协议规定,数据线在时钟线为高电平时保持稳定,在时钟线为低电平时保持改变
通过串行数据线SDA和串行时钟线SCL
工作模式:主发送器模式,主接收器模式,从发送器模式,从接收器模式

RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
I2C_InitTypeDef I;
I.I2C_Mode=I2C_Mode_I2C;
I.I2C_DutyCycle=I2C_DutyCycle_2;
I.I2C_ClockSpeed=I2C_Speed;
I.I2C_OwnAddress1=I2C1_SLAVE_ADDRESS7;
I.I2C_Ack=I2C_Ack_Enable;
I.I2C_AcknowledgedAddress=I2C_AcknowledgedAddress_7bit;
I2C_Cmd(I2C1,ENABLE);
I2C_Init(I2C1,&I);

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

One Kb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值