DMA(2)+I2C协议

1.4 DMA环形队列设置

-modulo 相关:锁定地址的前几位 其他无法进行更改 这样就实现和回环传输
-smodulo dmodulo 的作用可以通过代码进而查找手册来学习

1.5 DMA 发送 UART 数据

-DMA 更多的是用在内存缓冲区到外设之间的数据搬运
-UART 具有发送区为空的标志 这个标志可以作为 UART 的中断触发 
同时也可以作为 DMA 的 request 这么一个 trigger源 
-当年在串口里发数据 数据就储存在 D 寄存器中 因此 DMA 的目的地址 就应该是 UART 的D 寄存器
-数据寄存器的地址一般是不会变的 因此 只需要一直往里面丢数据就行 因此 
DMA_InitStruct1.dLastAddrAdj = 0;
     DMA_InitStruct1.dAddrOffset = 0; 都写为 0 即可
    -实际上很多模块的发送都类似 选择 中断 发送 或者选择 DMA 发送 只能 2 选一 

1.6 DMA-UART 回环实验 


2.1 I2C 总线协议

-主要用于 板间 或者 不同的芯片 之间的传输协议
-两线制 I2C :SCL(clock 串行时钟信号) SDA(data 数据信号) .
-I2C 协议 自身的时序:
1 高电平 代表总线空闲 。
2 起始信号:SCL 空闲时 SDA 有一个下降沿 代表起始。
3 终止信号:SCL 空闲时 SDA 上升沿 ,一次传输结束。
4 数据怎么传?:上升沿采样数据,7位地址,SDA第八位
不同电平 代表 读 或 写。
5 第九个上升沿 ACK 从机应答位。从机应答--SDA低电平 ,没有应答
--SDA高电平

2.2 I2C 总线实验

-加速度传感器 I2C 地址实验

-用I2C 总线 读取ADXL345加速度传感器数据

/* 3.7 */

你可能感兴趣的:(飞思卡尔嵌入式入门)