Other Parts Discussed in Thread: CC2592
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2652P 主题中讨论的其他器件:CC2592
您好!
我正在尝试从应用 中的外部闪存 Winbond W25X40CL 中从主器件 CC2592读取芯片 ID。
遵循 SPI 主器件示例和闪存数据表中的指令集。 我在应用中集成了示例代码、用于在外部闪存上读取/写入数据。
我在响应 Get chip id (0x90)命令时得到0。 如何成功读取/写入数据?
请在下面找到代码片段。
SPI_Handle 主 Spi;
SPI_Params Parspiams;
SPI_Transaction 事务;
布尔 转让;
/*将 SPI 作为主器件打开(默认)*/
spi_init();
GPIO_setConfig (CONFIG_GPIO_1、1);
SPI_Params_init (&spiParams);
spiParams.frameFormat = SPI_POL0_PHA1;
spiParams.bitrate = 4000000;
spiParams.mode = SPI_MASTER;
masterSpi = SPI_open (CONFIG_SPI_0、&spiParams);
if (masterSpi == NULL){
debug_UART_write_str ("初始化主器件 SPI\n"时出错);
while (1);
}
否则{
debug_UART_write_str ("已初始化主 SPI \n");
}
masterTxBuffer[0]= 0x90;
masterTxBuffer[1]= 0x00;
masterTxBuffer[2]= 0x00;
masterTxBuffer[3]= 0x00;
transaction.count = 4;
transaction.txBuf =(void *) masterTxBuffer;
transaction.rxBuf =(void *) masterRxBuffer;
GPIO_WRITE (CONFIG_GPIO_1、0);
/*执行 SPI 传输*/
transferOK = SPI_transfer (masterSpi、事务);
if (transferOK){
debug_UART_write_str ("SPI status =%d\n"、transaction.status);
if (transaction.rxBuf!=空)
DEBUT_UART_WRITE_STr ("接收到的主设备:%02x\n"、masterRxBuffer[0]);
其他
debug_UART_write_str ("RX buff is NULL");
}
否则{
debug_UART_write_str ("unsuccessful master SPI transfer");
}
GPIO_WRITE (CONFIG_GPIO_1、1);
此致、
Ankit S