大家好,我最近在用spi向eeprom读写数据,mcu是tms570ls0914,eeprom是m95160,然后现在有几个问题想请教一下大家
1、向状态寄存器读写(Status Register )和内存阵列(Memory Array )读写有什么区别
2、往内存阵列里面读写的时候数据格式是 8位读\写 命令+16位地址+8位数据 请问这16位地址位该如何确定
3、我看芯片使用手册上说每次写入前都要加入写入使能命令,请问这个写入使能是加在写命令前面,还是单独写一组命令,如果加载写命令前面,那么数据格式是怎样的
user6005420:
回复 Susan Yang:
谢谢您的回复,但是我现在还有几点不太清楚还需要请教您一下
1、我使用HAL生成的spi驱动程序,但是我不太懂怎么修改tx和rx的驱动程序,在spi.c文件中我也没找到tx和rx相关的程序
void spiSendAndGetData(spiBASE_t *spi, spiDAT1_t *dataconfig_t, uint32 blocksize, uint16 * srcbuff, uint16 * destbuff)
{/* USER CODE BEGIN (17) */
/* USER CODE END */
uint32 index = (spi == spiREG1) ? 0U :((spi==spiREG2) ? 1U : ((spi==spiREG3) ? 2U:((spi==spiREG4) ? 3U:4U)));
g_spiPacket_t[index].tx_length= blocksize;g_spiPacket_t[index].rx_length= blocksize;g_spiPacket_t[index].txdata_ptr= srcbuff;g_spiPacket_t[index].rxdata_ptr= destbuff;g_spiPacket_t[index].g_spiDataFormat = *dataconfig_t;g_spiPacket_t[index].tx_data_status= SPI_PENDING;g_spiPacket_t[index].rx_data_status= SPI_PENDING;
spi->INT0 |= 0x0300U;/* USER CODE BEGIN (18) */
/* USER CODE END */
}
是不是这段程序里面的 blocksize
2、cshold模式的启用我只在mibspi模式里有看到,在spi中没找到cshold模式怎么启用
3、时钟的配置要怎么写,我在hal里面没有找到具体的配置
4、读取、写入内存阵列时,地址怎么配置,就是地址可以随意写,还是有什么要求