Estou ciente que devo iniciar a RAM e abaixo os comandos:
READ - 0x03 Read data from memory array beginning at selected address
WRITE - 0x02 Write data to memory array beginning at selected address
RSTIO - 0xFF Reset Dual and Quad I/O access
RDMR - 0x05 Read Mode Register
WRMR - 0x01 Write Mode Register
cpp code
////////////////////////////////////////////
#define SPI3_SELECT PIN_B0
#define SPI3_DI PIN_B1
#define SPI3_DO PIN_B2
#define SPI3_CLK PIN_B3
//abaixo um exemplo de como eu enviarei um dado para a RAM externa
void escreve_spi_3(int8 dado)
{
int8 indice_dac;
SPI3_DO = 0;
indice_dac = 8;
while (indice_dac--)
{
if (bit_test(dado,indice_dac))
{
SPI3_DO = 1;
}
else
{
SPI3_DO = 0;
}
delay_us(5);
SPI3_CLK = 1;
delay_us(5);
SPI3_CLK = 0;
SPI3_DO = 0;
delay_us(5);
}
}
/////////////////////////////////////////////////////////////////////////
Minha dúvida é, como irei receber os dados da SPI?
output_low(SPI3_SELECT);
escreve_spi_3(0x03); //comando para leitura
escreve_spi_3(addressM); //MSB
escreve_spi_3(addressL); //MSB
neste ponto, se eu colocar um if na SPI3_DI e medir o tempo de 5us por bit de high e low eu conseguirei receber os dados?
output_high(SPI3_SELECT);