我有一個嵌入式SBC(主)和從屬基於8051的RF模塊具有32kbs的內部ROM。我使用SPI總線訪問內部ROM。當我使用SPI總線將一些數據從主設備發送到從設備時,我能夠在MOSI線上看到一些數據,然後我需要從設備獲得一些響應。我不確定數據是否寫在閃存ROM的00,01,02,03地址上。我也期待MISO行上有一些數據,但我沒有收到任何東西。我懷疑這四個字節是否正確寫入我的閃存ROM啓動4個地址或不?我已經添加了供您參考的代碼,請讓我知道我在做什麼錯誤。如何在C編程中延遲一段時間後寫入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",);
}
我想讀一下我從buffer.Please第二個字節讓我知道什麼是錯的我在做什麼? 此外,我需要讓我的地址不斷變化,並且我想在第零個地址上寫第一個字節,依此類推。
問候, 拉維