我有一个嵌入式 SBC(主)和从属一个基于 8051 的射频模块,它具有 32kbs 的内部 ROM。我有 SPI 总线来访问该内部 ROM。当我使用 SPI 总线从我的主设备向从设备发送一些数据时,我可以在 MOSI 线上看到一些数据,在这些数据之后,我需要从从设备获得一些响应。我不确定数据是否正确写入闪存 ROM 的 00,01,02,03 地址。我也期待 MISO 线上的一些数据,但我什么也没得到。我怀疑这四个字节是否正确写入我的闪存 ROM 是否以 4 个地址开头??我已经添加了代码供您参考,请让我知道我在做什么错。
typedef unsigned char uint8;
void run_test(int fd)
{
int i;
uint8 buffer[20];
//int size,l,size1;
uint8 *value[4] = {0xAC,0x53,0xAA,0x55};
uint8 address=0x0000;
/*Writing 4 bytes*/
for(i=0;i<4;i++)
{
printf("address:%.4x \t value : %2X\n",address,value[i]);
write(fd,&value,4);
address++;
}
/*Reading the 2nd byte*/
read (fd, buffer, sizeof (buffer));
printf("%2X\n",);
}
我想从缓冲区中读取我的第二个字节。请让我知道我在做什么错?而且我需要让我的地址不断变化,我想在第零个地址上写第一个字节等等。
问候,拉维