【SPI】LPC1700系列Cortex-M3_ZLG

【SPI】LPC1700系列Cortex-M3_ZLG

ID:37242837

大小:770.04 KB

页数:22页

时间:2019-05-20

【SPI】LPC1700系列Cortex-M3_ZLG_第1页
【SPI】LPC1700系列Cortex-M3_ZLG_第2页
【SPI】LPC1700系列Cortex-M3_ZLG_第3页
【SPI】LPC1700系列Cortex-M3_ZLG_第4页
【SPI】LPC1700系列Cortex-M3_ZLG_第5页
资源描述:

《【SPI】LPC1700系列Cortex-M3_ZLG》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、同步串行外设接口(SPI)LPC1700系列Cortex-M3微控制器目录1SPI简介与特性2SPI基本操作3SPI寄存器结构4SPI操作流程与示例5SPI使用注意事项SPI简介SPI是一种同步串行外设接口,允许MCU与外围设备以串行方式通信。SPI控制器使LPC1700系列Cortex-M3能与众多外设通信,从而大大增强了处理器的外设扩展能力。从机选择SSEL串行时钟SCK主机输入从机输出LPC1700MISO主机输出从机输入MOSISSELMOSIMISOSCK:指示被选择参与数据传输的从机(低电平有效):单向信号线,数据通过它由主机传输到从机:单向信号线,

2、数据通过它由从机传输到主机:用于同步SPI接口间数据传输的时钟信号SPI特性同一时刻只允许主机和一个从机进行通信SPI总线可以连接一个主机和多个从机SPI总线通信是全双工的LPC1700(主机)从机从机从机SPI总线从机从机从机目录1SPI简介与特性2SPI基本操作3SPI寄存器结构4SPI操作流程与示例5SPI使用注意事项SPI初始化

3、时钟极性、相位时钟极性控制位——CPOL该位决定了SPI总线空闲时,SCK时钟线的电平状态。CPOL=0,当SPI总线空闲时,SCK时钟线为低电平;CPOL=1,当SPI总线空闲时,SCK时钟线为高电平。时钟相位控制位——C

4、PHA该位决定了SPI总线上数据的采样位置。CPHA=0,SPI总线在时钟线的第1个跳变沿采样数据;CPHA=1,SPI总线在时钟线的第2个跳变沿采样数据。SPI初始化

5、模式介绍CPOL=0模式一:SCK空闲时为低,CPHA=0SCK前沿采样采样结果为:10101010b总线空闲时,从SCK的前沿SCK为低电平开始采样SCK10101010MOSISPI初始化

6、模式介绍CPOL=0模式二:SCK空闲时为低,CPHA=1SCK后沿采样采样结果为:01010101b总线空闲时,从SCK的后沿SCK为低电平开始采样SCK01010101MOSISPI初始化

7、模式介绍C

8、POL=1模式三:SCK空闲时为高,CPHA=0SCK前沿采样采样结果为:10101010b总线空闲时,从SCK的前沿SCK为高电平开始采样SCK10101010MOSISPI初始化

9、模式介绍CPOL=1模式四:SCK空闲时为高,CPHA=1SCK后沿采样采样结果为:01010101b总线空闲时,从SCK的前沿SCK为高电平开始采样SCK01010101MOSISPI初始化

10、帧设置帧长度:可以设置成8~16位帧格式:设置高位先发送还是低位先发送配置帧长度为8,低位先发送,情形如下所示:12345678帧长度为8帧长度低位在前帧格式SPI收发数据

11、主机发送、从

12、机接收从机选释放从择机SPI主机SPI从机主机提供时钟P0.0SSEL需发送SCKSCK数据传的数据输完成DATAMOSIMOSIDATA数据编码后发送SPI收发数据

13、主机接收、从机发送从机选释放从择机SPI主机SPI从机P0.0SSEL数据传SCKSCK需发送输完成的数据DATAMISOMISODATA目录1SPI简介与特性2SPI基本操作3SPI寄存器结构4SPI操作流程与示例5SPI使用注意事项SPI寄存器结构FPCLK时钟计数寄存器F经分频后为收PCLK(S0SPCCR)发模块提供时钟信号SPI初始化配置数据寄存器SPI控制数据移位寄存器(S0SPDR)

14、器的核心收发模块控制寄存器反映收发模块反映传输完成(S0SPCR)的状态信息的中断信息状态寄存器中断标志寄存器(S0SPSR)(S0SPINT)SPI寄存器结构SPI控制寄存器SPI传输完成Bit7:SPIFSPI中断标志寄存器SPINT[0]发生模式错误Bit4:MODF置位SPI状态寄存器目录1SPI简介与特性2SPI基本操作3SPI寄存器结构4SPI操作流程与示例5SPI使用注意事项SPI操作流程与示例

15、主机、从机初始化voidSPIMasterInit(uint8fdiv)voidSPISlaveInit(void){{S0SPCR=(1<<5)

16、主机模

17、式/从机模式S0SPCR=(0<<5)

18、(0<<7)

19、不使用中断(0<<7)

20、(0<<2)

21、帧长度为8位(0<<2)

22、(0<<6)

23、先发送高位(0<<6)

24、(1<<4)

25、时钟极性为1(1<<4)

26、(0<<3);时钟相位为0(0<<3);if(fdiv<8){}fdiv=8;设置时钟频率}S0SPCCR=fdiv&0xfe;}SPI操作流程与示例

27、数据发送uint8MSendData(uint8ucdata){IO0CLR

28、=SPI_CS;选中从机S0SPDR=ucdata;发送数据while((S0SPSR&0x80)==0);等待数据发送完成IO0SET

29、=S

30、PI_CS;释放从机re

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。