你好,请问当用28335的SPI接口与外部EEPROM相连时(四线),SPISTEA引脚是配置成基本IO还是配制成SPISTEA?另外,在编程时需要人为的去控制该引脚拉高还是拉低吗?谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好,请问当用28335的SPI接口与外部EEPROM相连时(四线),SPISTEA引脚是配置成基本IO还是配制成SPISTEA?另外,在编程时需要人为的去控制该引脚拉高还是拉低吗?谢谢!
谢谢,再请教一个问题:当28335用SPI读EEPROM时,在依次发送完“读指令”和“要读的地址”后,是否要发送一个无效的数据来启动SPI的时钟然后再接收数据?我写的读EEPROM程序如下:
// Send READ
SpiaRegs.SPITXBUF = 0x0300; // Send READ
while(SpiaRegs.SPISTS.bit.INT_FLAG != 1){} // Wait until the data is sent
SpiaRegs.SPIRXBUF = SpiaRegs.SPIRXBUF; // Clear SPI interrupt flag
// Send upper address
SpiaRegs.SPITXBUF = address; // Send upper address
while(SpiaRegs.SPISTS.bit.INT_FLAG != 1){} // Wait until the data is sent
SpiaRegs.SPIRXBUF = SpiaRegs.SPIRXBUF; // Clear SPI interrupt flag
// Send lower address
SpiaRegs.SPITXBUF = address << 8; // Send lower address
while(SpiaRegs.SPISTS.bit.INT_FLAG != 1){} // Wait until the data is sent
SpiaRegs.SPIRXBUF = SpiaRegs.SPIRXBUF; // Clear SPI interrupt flag
// Receive data
SpiaRegs.SPITXBUF = 0x0000; // Send 0x0000 to start SCK
while(SpiaRegs.SPISTS.bit.INT_FLAG != 1){} // Wait until the data is sent
data = SpiaRegs.SPIRXBUF; // Receive data
请问 Receive data这一段中的SpiaRegs.SPITXBUF = 0x0000和while(SpiaRegs.SPISTS.bit.INT_FLAG != 1){} 是否需要?
对了,请问你的意思是只有在有数据发送时该引脚才会自动被拉低,待数据发送结束后该引脚又会自动被拉高吗?
SPICLK呢?是不是也是只有在有数据发送时才会有,待数据发送结束后又会自动消失?