stm32笔记
课程 江科大stm32
初体验 使用 正点原子stm32f103rc
ST推出库版本简化开发
点灯项目 寄存器
user 写代码的地方 启动
hardware 库函数
其实项目文件夹随便,看个人
根据官方文档设置,先RCC使能,设置gpio模式。
最后设置高低电平
使用flymcu工具烧入stm32 usb是T口 ISP下载 USB转串口 安装ch340驱动
使用的是USART通讯方式
岔线帽 设置boot0=1
初始项目
缩写->选择启动文件
启动文件汇编语言编写的,先初始化,然后main函数,如果有中断就跳中断,main函数包含库函数简化开发
.s文件 汇编语言
点灯
led 蜂鸣器使用推挽输出,如果gpio驱动能力强可以直接供电
选择外接电源方式,gpio给低电平形成电压差,亮
上拉 下拉电阻目的是给一个明确的电压 否则不确定电压是高还是低 保护电路
施密特触发器 数字电路可能被干扰 转TTL输出
GPIO八大模式
指针
可以返回多个值
不要将局部变量返回,导致野指针问题
野指针就是指针还在,但是对象已经被释放了。
如果指针被释放但对象还在就是内存泄漏。
最左侧数字电压输出 DO
AO 模拟电压输出
iic 使用开漏输出 上拉,释放是高电平
OLED和中继芯片通讯操作,分区,汉字需要生存字模
定时器
预分频和计数器最大65535
舵机
设置预分频器和计数器 设置周期和占空比
ccr2/ccr1 占空比
ccr1为周期 每次读取从模式清零
通过次可以测速,车轮转了多少
规则组可以插队
规则组 共用一个寄存器 需要快速取走,dma联动
最大4096,范围越小,分辨率越高,精度高,
异步要约定波特率,但频率可能不准
两个寄存器更快,空间换时间。
使用状态机,判断目前所处的状态。
时钟线高电平时,数据线下拉上拉,开始结束传输。
指定地址读需要先写一个地址,然后重新开始读,接受数据。
根据模式,在不同时机移入移出数据。