《【开发教程8】ARM功能手机-SPI教程.docx》由会员分享,可在线阅读,更多相关《【开发教程8】ARM功能手机-SPI教程.docx(12页珍藏版)》请在第一文库网上搜索。
1、SPI教程疯壳开发板系列W olverine-Team2018/10/31目录第一节SPI Flash硬件电路2第二节SPI+寄存器42.15 PI+介绍42.16 存器介绍42.16.1 SPI控制寄存器042.16.2 SPI接收/发送寄存器05223 spi接收/发送寄存器15224 spl清除中断寄存器52.16.5 SPI控制寄存器152.17 存器配置讲解6第三节SPI实验7AA这里1胴 开机测试教程 整板资源介绍 开发环境搭建教程 快速上手教程 SIM900A通信实验代码及教程 TFT_LCD屏实验代码及教程 TP_Cap电容触摸屏实验代码及教程 W25Q128-Flash实验代
2、码及及教程 OV2640摄像头实验代码及教程 TF_Card接口实验代码及教程I MP3音乐播放实验代码及教程f SRAM实验代码及教程初级教程6主处I里器(SM324X) GPIO实验代码及教程 终端实验代码及教程 定时器实验代码及教程 串口实验代码及教程 ADC实验代码及教程i 12c实验代码及教程j SPI实验代码及教程 DMA实验代码及教程 FSMC实验代码及教程 DCMI实验代码及教程 SDIO实验代码及教程 USB实验代码及教程初级教程之蓝刃部处理器(DA14580) GPIO实验代码及教程 中断实验代码及教程 定时器实验代码及教程 串口实验代码及教程 ADC实验代码及教程 12c
3、实验代码及教程 SPI实验代码及教程 STM资源整合I SIMCOM资源整合 Dialog资源整合 OmniVision资源整合 触摸屏实验 打接电话实验 收发短信实验 音乐播放实验 拍照实验 手机与手环时间同步实验 读取手环步伐卡路里 心率测试实验 体温监测实验 NFC通信实验 datasheet数据手册 摄像头应用文档 BLE蓝牙低功耗应用文档 GSM/GPRS应用文档 MP3相关文档 充电电路相关文档 触摸屏相关文档 TF卡相关文档官网地址:http:www.fengke.dub购买链接:http:官方 QQ 群:193836402第一节SPI Flash硬件电路SPl.Flash可用于
4、存储程序以及一些数据,如果需要存储程序则必须连接在规定的引面,开发板上选用的MCU引脚分别为:POO, P03, P05, P06,如下图所示:第二节SPI+寄存器2.1 SPI+介绍这个接口支持spi总线的一个子集。这个串行接口在主/从模式可以发送和接收8、16或32位,并且在主模式可以发送9位。SPI+接口有双向的2X16位字的FIFO,功能得到了增强。该接口可以工作在主或从模式;有8、9、16、32位的操作方式;SPI控制器的时钟达到16MHz, SPI时钟源可以通过编程进行1、2、4、8分频;SPI的时钟线达到8MHz;支持SPI的0、1、2、3四种工作模式;SPI_DO的空闲电平可以
5、通过编程设置;可屏蔽的中断发生器;单向读和写模式降代总线负载。2.2 寄存器介绍2.2.1 SPI控制寄存器0Table 161: SPI_CTRL_REG (0x50001200)BitModeSymbolDescriptionReset15R/WSPI_EN_CTRL0 = SPI EN pin disabled in slave mode Pin SPI EN is donlcare. 一一1 = SPI_EN pin enabled in slave mode.0x014R/WSPLMINT0 = Disable SPIJNT_BIT to ICU1 = Enable SPIJNT_B
6、IT to ICU.Note that the SPIJNT interrupt is shared with ADJNT inter-rupt0x013RSPINT_BIT0 = RX Register or FIFO is empty.1 = SPI interrupt. Data has been transmitted and received-Must be reset by SW by writing to SPI-CLEARJNT_REG.0x012RSPLDIReturns the actual value of pin SPI_DIN (delayed with twoint
7、ernal SPI dock cycles)0x0RSPI_TXH0 = TX-FIFO is not full, data can be written.1 = TX-FIFO is full, data can not be wntten.0x010R/WSPI_FORCE_DO0 = normal operation1 = Force SPIDO output level to value of SPI_DO.0x09R/WSPI_RST0 = normal operation1 = Reset SPI. Same function as SPI_ON except that inter
8、nalclock remain active0x08:7R/WSPLWORD00 = 8 bits mode, only SPI_RX_TX_REG0 used01 = 16 bit mode, only SP匚RX二TX二REGO used10 = 32 bits mode, SPLRX_TX_REG0 & SPI_RX_TX_REG1used11=9 bits mode Only valid in master mode.0x06R/WSPI_SMNMaster/slave mode0 = Master.1 = Slave(SPI1 only)0x05R/WspldoPin SPI_DO
9、output level when SPI is idle or whenSPI_FORCE_DO=10x04:3R/WSPLCLKSelect SPI_CLK clock frequency in master mode:00 = (XTAL)/ (CLK_PER_REG *8)01 = (XIALJVCCLK_PER-REG *4)10 = (XTAL) / (CLK_PER_REG *2)11 = (XTAL) / (CLK_PER_REG *14)0x02R/WSPLPOLSelect SPLCLK polarity.0 = SPLCLK is initially low.1 = SP
10、LCLK is initially high.0x01R/WSPLPHASelect SPI_CLK phase. See functional timing diagrams in SPIchapter0x00R/WSPI_ON0 = SPI Module switched off (power saving). Everything isreset except SPI_CTRL_REG0 and SPI_CTRL_REG1. Whenthis bit is cleared the SPI will remain active in master modeuntil the shift r
11、egister and holding register are both empty.1 = SPI Module switched on. Should only be set after all con-trol bits have their desired values. So two writes are needed!0x015位:SPI_EN引脚是否有效,O表示无效,B表示有效;14位:SPI中断使能位,O表示无效,4表示有效;13位:O表示接收寄存器或FIFO为空,”表示SPI中断,数据已经被发送或接收,该位必须通过软件写SPI_CLR_INT_REG清零;12位:返回SPI
12、_DI引脚的状态值;11位:0表示发送FIFO满,1表示发送FIFO空;10位:0正常模式,1使SPIDO的值等于SPI_DO的值;9位:0正常操作,1复位SPI;8:7位:SPI数据格式;6位:SPI工作模式,0为主设备,1为从设备;5位:当SPI处于空闲模式或者当SPI_FORCE_DO=1时引脚SPI_DO的值;4:3位:SPI在主模式下的时钟频率选暴2位:SPI时钟初始电平的高低,0为低,1为高;1位:SPI时钟的相位选择,具体看SPI的时序图;(SPI的资料)0位:SPI的开关。2.2.2 SPI接收/发送寄存器0Table 162: SPI_RX_TX_REG0 (0x500012
13、02)BitModeSymbolDescriptionResetR0/WSPLDATA0Write: SPI_TX_REG0 output register 0 (TX-FIFO)Read: SPI_RX_REG0 input register 0 (RX-FIFO)In 8 or 9 bits mode bits 15 to 8 are not used, they contain olddata.0x015:0位:SPI发送或接收的数据,写操作是,存储发送的数据,读操作时,为接收到的数据。2.2.3 SPI接收/发送寄存器1Table 163: SPI_RX_TX_REG1 (0x5000
14、1204)BitModeSymbolDescriptionReset15:0SPLDATA1Write: SPI_TX_REG1 output register 1 (MSBs of TX-FIFO)Read: SPI_RX_REG1 input register 1 (MSBs of RX-FIFO)In 8 or 9 or 16 bits mode bits this register is not used.0x015:0位:SPI发送或接收的数据,写操作是,存储发送的数据,读操作时,为接收到的数据;为32位模式的高16位数据。224 spi清除中断寄存器Table 164: SPI_CLEAR_INT_REG (0x50001206