AMBA总线:
ARM研制的一种机制。2.0版本定义了三组总线。
------
高性能总线AHB: Advanced High-performance Bus
AHB = 主模块+从模块+基础结构
-------
高级系统总线ASB: Advanced System Bus
一条双向读/写数据总线,可连接处理器,存储器,片外处理器接口。
-------
高级外设总线APB: Advanced Peripheral Bus
本地二级总线,通过桥与AHB或ASB相连。用于不需要高性能/带宽(速率)的接口。
----------------------------
----------------------------
CMSIS:
ARM ,供应商 -----> 提出标准化软件接口。(可移植性)
标准化内容:
1.操作函数。访问NVIC, 系统控制块,SysTick定时器。
2.底层的控制器相关的,非C的标准函数。
3.系统异常标准化命名。
4.一些命名的标准化常量。
------
------
stm32F0系列总体架构,2个主模块+4个从模块
主模块:
Cortex-M0内核 + DMA通道
从模块:
SRAM,Flash, AHB1, AHB2
AHB1是AHB到APB的桥,所有的外设都挂载APB总线上。
AHB2是专门用于连接GPIO端口。
==================
时钟
----外部晶体振荡器
----陶瓷谐振器
----RC振荡器 =====》 系统时钟
----使用外部的时钟信号
----片内多个RC振荡器
----------------------------------------------
外部时钟源:
外部晶体振荡器HSE
外部低速晶体振荡器LSE
微控制器片内:(cpu内)
8MHZ内部高速RC振荡器时钟HSI
40kHz内部低速RC振荡器时钟LSI
ADC专用14MHz高速RC振荡器时钟HSI14
为USB模块提供的高精度时钟HSI48 RC振荡器
CubeMX设置:
BYPASS Clock Source 旁路时钟源
Crystal/Ceramic Resonator 水晶/陶瓷谐振器
===============================================
USART
两个传输引脚。RX串行数据的输入接口,TX串行数据的输出接口。
模块内部结构:
发送数据寄存器TDR, 接收数据寄存器RDR
发送移位寄存器, 接收移位寄存器
USART的帧格式:
数据帧, 空闲帧, 停止帧
数据帧:1个低电平+7/8/9数据字+0.5/1/1.5/2停止位
空闲帧: 全为1
停止帧: 全为0 +2个停止位
USART发送器:
USART寄存器TE位使能
|
写入数据到USART_TDR寄存器启动字符发送
|
数据转移到移位寄存器
|
数据并从TX引脚输出,时钟脉冲在CK引脚产生
数据发送时TC和TXE位:
TXE位,置1标明TDX寄存器为空。
数据写入TDR后,TXE清零0并在一段时间后置1。
--------------
例程compolling:
发送:printf
接收: