专家好:
我们调试SPI1接口,发现SP1I接口无信号输出。
使用接口如下:
SPI1_CS0(GIO29)、SPI1_SCLK(GIO28)、SPI1_DMISO(GIO27)、SPI1_DMOS(GIO26)。
首先复用SPI接口:
davinci_writel(0xe15affff,0x01C4000c);//gio26 复用SPI1_SIMO
davinci_writel(0x0030c015,0x01C40010);//gio27复用SPI1_SOMI、gio28复用SPI1_SCLK、gio29复用SPI1_SCS[0]
按照DM36X Serial Peripheral Interface (SPI)文档设置4pin模式:
davinci_writel(0x0,0x01C66800);//SPI is in reset state.
davinci_writel(0x1,0x01C66800);//SPI is out of reset state
davinci_writel(0x3,0x01C66804);//SPIGCR1— MASTER:1 clkmod:1
davinci_writel(0xe01,0x01C66814);//SPIPC0–使能SPIx_SIMO, SPIx_SIMO, SPIx_SCLK SPIx_SCS[0]
davinci_writel(0xa,0x01C66854);//SPIFMT1–CHARLEN:16bit
davinci_writel(0x0,0x01C6683C);// SPIDAT1–DFSEL:0
//不使用SPIDELAY
davinci_writel(0x20000,0x01C6683C);// SPIDAT1–CSNR: SPIx_SCS[0] only
davinci_writel(0x1,0x01C6684c);//SPIDEFSPIx–SCS0DE:1
davinci_writel(0x0,0x01C66808);//SPIINT:不开启中断
//SPILVL 默认值
//EDMA 不使用
davinci_writel(0x1000003,0x01C66804);//MASTER:1 clkmod:1,enable spi
davinci_writel(0x207b,0x01C6683C);//write spi
配置完后,重复操作davinci_writel(0x207b,0x01C6683C);但是示波器测量SPI1_CS0始终是高电平,SPI1_SCLK、SPI1_DMOS始终是低电平。
请问专家为什么写SPI1接口,无数据输出?
谢谢~~
GreenTi liu:
如果使用spi1接口,是不是SPIFMTn就要选择SPIFMT1,data format要选择data format1????
GreenTi liu:
回复 GreenTi liu:
顶一下
SPI1接口没有接外设,向SPI1接口写值,使用示波器测量SPI1各个管脚值。
SPI1_CS0有变化、SPI1_CLK有脉冲(频率很低)、SPI1_MOSI始终为低电平。
请问专家,如果SPI1接口不接外设,能否测量接口引脚电平变化?