ARM 笔记(0927)-- STM32部分--02
1、寄存器编程
寄存器编程分为几步#
第一步--------弄清硬件的连接原理
第二步--------用到什么资源 是属于内核还是外设
第三步--------用到哪些寄存器
第四步--------这些寄存器的地址都是什么?我们应该写入什么数据?
程序规范化应该怎样编写
具体执行步骤#
第一步--------硬件原理图 PH10 R红灯 PH11 G绿灯 PH12 B蓝灯
第二步--------GPIO------内置外设
第三步--------参考手册
硬件原理图#
参考手册#
2、初始化
首先需要明确 一个程序必须包含初始化#
1.规定你所用的资源的工作模式和工作方式
2.并且初始化中必须先打开时钟,
3.在ARM中每个集成电路都有自己的时钟
其次一个程序必须包含功能函数#
你到底要做什么?
初始化函数只执行一次,功能函数需循环执行
定义一个初始化函数#
将函数放到初始化位置#
当未发现.h文件时候的解决方案#
第一步#
第二步#
第三步#
第四步#
基地址查询#
RCC时钟#
IO口的定义#
0关闭
1打开
基地址#
(1)#
(2)#
(3)#
(4)#
(5)#
控制PH10#
四种模式#
//四种模式、输入00 输出01 复用10 模拟11
/*输入----读
输出----写
复用----兼职----特定电路的输入或者输出
模拟----ADC\DAC使用时候 叫 模拟
*/
//21bit =1 20bit=0 输出
推挽定义#
开漏定义#
//推挽 开漏 速度 上拉 下拉#
void laser_process()
{
//ODR/BSRR
}
解析 IDR ODR BSRR#
IDR#
IDR 输入端口寄存器
ODR#
ODR是STM32系列单片机中输出端口寄存器的实现方式。是output data register 的缩写
BSRR#
BSRR 称为端口位设置/清楚寄存器,
BSRR 低 16 位用于设置 GPIO 口对应位输出高电平,
高 16 位用于设置 GPIO 口对应位输出低电平。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步