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 口对应位输出低电平。

posted @   L707  阅读(84)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
主题色彩