This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
大家好:
我现在尝试修改 SPI 示例代码、即"C2000_LAUNCHPAID\software_install\C2000Ware_3_02_00_00\driverlib\f28004x\examples\spi\spi_ex4_EEPROM.c"。
我不会非常撤消这三个函数:"readStatusRegister"和"SPI_writeDataBlockingNonFIFO"、"SPI_readDataBlockingNonFIFO"。
这些功能是什么? 如果我不使用这些函数、会发生什么类型的错误? "readStatusRegister()"是否只是用于检查 SPI 总线是否繁忙? 还是检查 INT_FLAG?
此外、我并不真正理解这些缺点(请参阅下文)。 我在数据表中找不到它们。
#define RDSR 0x0500 #define READ 0x0300 #define 写入 0x0200 #define WREN 0x0600 #define WRDI 0x0400 #define WRSR 0x0100
uint16_t readStatusRegister (void) { uint16_t temp; // //将芯片选择拉低。 // CSCON_TXLOW; // //发送 RDSR 操作码 // SPI_writeDataBlockingNonFIFO (SPIA_BASE、RDSR); // //虚拟读取以清除 INT_FLAG。 // SPI 读取 rxbuf 将清除 INT_FLAG temp = SPI_readDataBlockingNonFIFO (SPIA_BASE); // //发送虚拟数据以接收状态。 // SPI_writeDataBlockingNonFIFO (SPIA_BASE、0x0000); // //读取状态寄存器。 // temp = SPI_readDataBlockingNonFIFO (SPIA_BASE); // //将芯片选择拉高。 // CSCON_TXHIGH; // //从接收缓冲区读取状态 // return (temp); }
如果我只想通过 SPI 与非 FIFO 通信外设、我应该在示例代码中修改什么?
李兴宇您好、
此示例是为串行 EEPROM AT25128/256编写的。 宏是 EEPROM 在读取、写入等各种操作中所需的操作码
readStatusRegister 函数用于将操作码发送到 EEPROM 以读取其状态寄存器内容。 有关所使用的操作码的更多详细信息、请参阅 EEPROM 数据表。
SPI_writeDataBlockingNonFIFO 和 SPI_readDataBlockingNonFIFO 是 SPI driverlib 函数、用于在不使用 FIFO 的情况下发送和接收 SPI 数据。 有关 driverlib 函数的更多详细信息、请参阅 driverlib SPI 用户指南。
您可以参考 SPI 文件夹中的其他示例、了解如何使用和不使用 FIFO 进行 SPI 到 SPI 通信
此致、
Veena