stm32f103c8t6最小系统使用的经验总结
1、两个LED灯 一个PWR上电就亮,另一个连接在引脚PC13,低电平点亮高电平熄灭。
2、hex文件下载方法:
①在keil5内部配置好仿真器下载,然后按蓝色箭头直接下载,如图
②用STM32 ST_LINK Utility软件下载,步骤如下:
3、keil调试时局部变量不能看,设置为全局变量就能看了
4、如果ST_LINK没有串口功能,可以在ST_LINK的基础上用另一块有串口功能的下载器来进行串口调试。
5、stm32f103c8t6属于中等容量STM32F103xx系列芯片,内部详情参考STM32F103x8B_DS_CH_V10数据手册。
6、推挽输出和复用推挽输出的区别主要在于复用推挽输出用于内置外设输出,例如定时器的PWM,比如SPI的MOSI,MISO等。,而普通的推挽输出,IO受ODR控制。具体参考《STM32八种IO口模式区别》手册。下图为输入输出模式配置的大体方法:
7、
高级定时器 TIM1
通用定时器 TIM2,TIM3,TIM4
pwm波常用公式:
计数器时钟 72M/(psc+1)
信号频率 72M/(psc+1)/(arr+1)
占空比 crr/(arr+1)
8、
①定时器PWM输出时,输出通道电平极性指有效电平。
TIM_OCInitStructure.TIM_OCPolarity//输出通道电平极性配置
②BKIN极性是指BKIN引脚检测到配置的电平后执行断路刹车功能
TIM_BDTRInitStructure.TIM_BreakPolarity//在BKIN引脚检测到配置的电平时,输出比较信号被禁止,就好像是刹车一样
指的注意的是BKIN引脚在浮空的状态下为低电平,所以一般设BKIN引脚检测的极性为高极性
③输出通道空闲电平极性指断路刹车时通道输出的极性
TIM_OCInitStructure.TIM_OCIdleState//输出通道空闲电平极性配置
注:BKIN用来制动,打断TIM的输出
刹车和死区寄存器(TIMx_BDTR)用来配置刹车功能和死区功能
9、
定时器常用寄存器分析:
(1)控制寄存器CR1:主要由时基初始化函数配置CK_CNT
(2)计数器寄存器CNT:数字根据CK_CNT时钟递增或递减
void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter);
(3)自动加载寄存器ARR:将ARR中的数加载到CNT
void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload)
(4)预分频寄存器PSC:设置预分频值,将CK_PSC分频为CK_CNT
10、stm32f103c8t6的PA0管脚对应TIM2_CH1,而stm32f103zet6的PA0管脚对应着TIM2_CH1和TIM5_CH1。移植代码时要注意定时器对应的管脚是否相同。详情参考芯片手册。