判断第一个引脚:看芯片丝印,朝上然后最小那个圈开始,逆时针为第一个引脚
STM32芯片架构:
第一部分就是由ARM公司所设计的内核,交由ST进行设计许多外设。
M3内核—》总线矩阵—》flash(存储程序) 外设(GPIO,USART,I2C,SPI等) SRAM(存储变量的)
ARM公司设计内核也就是驱动单元,还有一部分是SOC厂商ST设计的外设(被动单元)
内核通过ICode(instruction)读取flash总的程序完成程序指定读写功能
Dcode 数据总线 常量const防在flash 中 变量放在sram中,
DCODE system DMA
被动单元部分
AHB(两个外设 rcc(rcc就是复位时钟总线)和sdio)–>>APB(APB1,APB2)
寄存器?
给有特定功能的内存单元取一个别名,这个别名就是我们经常使用的寄存器,这个给已经分配好地址的有特定功能的内存单元取别名就是寄存器映射
什么叫存储器映射
给存储器分配地址就是存储器映射,再分配一个地址就叫重映射。
总线APB1 ,APB2,AHB 外设根据所需速度不同挂在不同的总线上。
总线基地址是外设起始地址
GPIO基地址:所在总线基地址加上偏移量就是外设基地址
1<<0 1左移0位,从寄存器低位开始移动
1<<10 把寄存器的第十位赋值为1
|=赋值 不改变原来的位
&=(1<<10)