我现在将28335的SPI配置成主机模式,发送数据时,时钟引脚有波形,但是数据引脚没有波形,配置成回环模式时,两个引脚波形正常,配置如下
SpiaRegs.***.all = 0x000F; // 复位SPI,上升沿发送,下降沿接收,16位数据格式
SpiaRegs.***.all = 0x0006; // 无相位延时,主模式
SpiaRegs.***.bit.MASTER_SLAVE = 1;
SpiaRegs.SPIBRR =0x007F; // LSPCLK/128
//SpiaRegs.***.all =0x009F; // 环回模式允许在设备测试期间验证模块。此模式仅在SPI的主模式下有效。自测模式,并从复位状态释放 数据在上升沿输出,在下降沿输入。当没有发送SPI数据时,***。
SpiaRegs.SPIPRI.bit.FREE = 1; // 自由运行
// Initialize SPI FIFO registers
SpiaRegs.SPIFFTX.all=0xE040; //使能FIFO,清除spifftxFLAG
SpiaRegs.SPIFFRX.all=0x204f; //使能FIFO接收16级深度
SpiaRegs.SPIFFCT.all=0x0; //清除FIFO计数器
SpiaRegs.***.bit.SPISWRESET = 1;
请问是什么原因
Susan Yang:
若是可以的话,请给出完整工程,我们在周一测试一下,谢谢
user5197967:
回复 Susan Yang:
我想请问是否将例程中的回环模式去除就是正常模式
user5197967:
回复 Susan Yang:
请问一下,28335的SPI默认是MSB先行还是LSB先行,可以配置吗
Susan Yang:
回复 user5197967:
默认是MSB先行。SPI模块在硬件中没有能力交换传输位的顺序。但是,有一个编译器固有的__flip16(int src)可以反转位的顺序。您可以在从SPIRXBUF读取或写入SPITXBUF时执行此操作。
关于SPI例程,您可以参考下面的文档以及包含的代码
www.ti.com/…/slaa551.pdf