STM32学习笔记(一)-----基于F103
(关于以下看法,我并不知道是否完全正确,只是自己这样理解)
1、对于内存的理解
在软件上看,内存是一块连续的存储单元,一般内存与地址同时存在,
32位单片机单周期可处理32位的数据
最小的存储单元是一个字节,也就是8位
1GB=1024MB
1MB=1024KB
1KB=1024Byte
1Byte=8bit
存储有较大的3块划分
- ROM(flash) 用户编写程序存储的地方
- RAM 单片机运行中时临时存储的地方
- 寄存器
2、寄存器的理解
寄存器就是有特殊功能的内存单元,就是往那块内存里面写数据就可以实现想要的功能,比如地址为 0x4001 080C 的内存单元,往里面写数据可以实现让GPIOA口输出高还是低电平
*(unsigned int *)(0x4001080c) = 0Xffff;//单片机一般用十六进制表示 1111 1111 1111 1111
#define GPIOA_ODR *(int *)(0x4001080c)
GPIOA_ODR = 0XFFFF;
首先0x4001080c直接看是数据,所以用(unsigned int*)强制类型转换为地址,再用*操作该地址下的内存单元