文章目录
1.GPIO输出配置
- 双击选择对应的IO扣,选择为输出模式
2.按键/中断配置
选择IO口,选择中断模式
模式选择
External interrupt Mode with Falling edge trigger detection (下降沿触发) 需上拉输入
External interrupt Mode with Rising edge trigger detection (上升沿触发) 需下拉输入
NVIC中断打开
3.SCL和SDA的配置
点击GPIO口,选择输出模式
GPIO mode: Output Push Pull (选择输出)
电阻均上拉
输出速率默认
GPIO output level :选择High (初始输出为高)
4.串口配置
初始化串口
打开串口中断(全局)
5.PWM的配置
1.选择要输出的PWM的IO口
2.开启对应的PWM通道(以下为开启PWM模式1,向上计数,低于ARR为高电平)
3.设置预分频系数与自动重装载值
PWM频率 = 系统频率(72M)/ psc / arr
PWM分母为ARR
4.设置初始输出占空比
6.编码器的配置
1.设置编码器模式(选择4倍频)
2.设置滤波器,必须大于5
3.开启全局中断
4.编码器的所有引脚都需要上拉,其他默认
7.普通定时器计时配置
1.选择TIM,设置内部时钟源,并打开自动重装载
2.打开更新中断与全局中断(globe)
8.使用CJSON需要将堆栈调大
不调大可能会造成CJSON程序运行时卡死的情况
9.STM32f103定时器的分类
基本定时器:TIM6 TIM7 只能定时
通用定时器:TIM2 TIM3 TIM4 TIM5
高级定时器:TIM1 TIM8
stm32f407对于f103只增加了通用定时器
10.OLED的配置
四寸OLED只需要SDA和SCL
将SDA和SCL口设置为GPIO输出模式且上拉即可
11.蓝牙的配置
与串口的配置相同
12.超声波的配置
超声波供电最好5V
- 原理:给Trig一个大于10us的高电平脉冲,然后读取echo脚的高电平信号时间,通过公式:距离 =
T * 声速/计算距离 - Trig脚配置为GPIO输出
- echo配置为GPIO输入
以上只修改标签,其他默认即可
13.舵机(MG995)配置
该舵机需要20ms的启动时间,必须配置50Hz
接线说明:红色VCC,棕色GND,橙色信号线
原理:使用PWM进行驱动,设置合适的分频系数PSC,自动重装载值ARR以及占空比CCR
1.定时器选择
2.分频系数与重装载值设置
舵机的脉冲控制表格
- 0.5ms~2.5ms对应500 ~2500的占空比(400就能开始启动)
- 从500开始,顺时针转动 但是会逐渐减速。增加至1500左右就会停止
- 从1500到2500为逆时针转,逐渐加速,2500为最大速度。
t = 0.5ms——————-舵机会转动 0 °
t = 1.0ms——————-舵机会转动 45°
t = 1.5ms——————-舵机会转动 90°
t = 2.0ms——————-舵机会转动 135°
t = 2.5ms——————-舵机会转动180
14.F103中断优先级说明
- 高优先级的抢占优先级可以打断低抢占优先级的中断。
- 抢占优先级相同的中断,高响应优先级不能打断低响应优先级
- 抢占优先级相同的中断,当中断同时发生时,响应级高的先执行
- 抢占和响应优先级都一样则哪个中断先发生,则执行哪个
数字越小代表优先级越高