寄存器相关知识点


相关视频

寄存器是什么?

本质就是一个存储器,写内存和写寄存器都是一样的
寄存器里的值和RAM的值,掉电都会丢失

IO用来控制硬件
RAM内存用来存储数据
寄存器的地址通过单片机的芯片手册来看 每个单片机手册都有memory map写了寄存器的地址
读写程序:ROM
读写数据:RAM
控制硬件:IO
image.png
某芯片对应的地址,地址有的是ROM,有的是RAM,有的是spf也就是寄存器
image.png

举例子—如何去看手册来配置寄存器

芯片原理图,如图GPX2_7是控制这个LED2的,这个led灯只需要高低电平就可以控制,所以用GPIO控制即可,GPIO就是只发送高低电平;
image.png
MCU里面有不同的控制器,比如下图这些,GPIO用他的寄存器来控制GPX2_7
image.png

手册中寄存器的描述memory map每个手册都有这个,高诉你寄存器的地址的,往下面翻是有功能描述,这个地址上改什么值就对应什么功能
Base Address:0x1140_0000
offset是地址偏移量,
image.png
上一张表后接着有这张表,是更加细节的描述,这个地址上面内容设置为多少所对应的功能
image.png
然后看下面分析:

寄存器地址知识点

这个寄存器一共32位从0-31,看这个图,每4bit对应里面CPX2CON[0]…[7],有8个就是32位;
这个32位寄存器的地址是0x1100 0000;注意这个地址表示的都是起始地址
地址上存的内容换成2进制就是0000 0000 0000 0000 0000 0000 0000 0000,每4个0是一个GPX2CON[ ],正好[0]-[7];
还要注意大小端;
image.png
分析:GPX2CON7,现在就是要把他28-31位置成0001,就是output 0x1,是从上面那个功能表看到的;

输出功能

再往下翻找到这个寄存器,用来设置具体对外输出什么
image.png
这个寄存器虽然32位,但是只用前8位,0-7位;
Description描述的是寄存器上0-7位,如果置位1就直接是pin的状态也置位1高电平,0的话就是低电平;

具体实现,在linux编写代码的话

错误示例:
编译器默认这个0x110000c40是一个普通的数,那就不能取地址;
image.png

正确示例
image.png
(unsigned int )强转为地址;
为什么不是char
,int是4个字节4type = 4x8bit = 32位,就是32位寄存器;
char是1个字节1type,只有8bit;image.png
两个寄存器,1是把寄存器设置成output输出功能、2是让GPX2_7置位1让led灯亮起来,在上面的内容也写了为什么是0x80, 二进制就是 1000 0000,是由手册定义描述的,说了每一位的0、1状态就是第GPX2_第几个输出的电平;

其他

MCU和MPU的区别
image.png

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值