TI中文支持网
TI专业的中文技术问题搜集分享网站

28335的SPI

你好,请问当用28335的SPI接口与外部EEPROM相连时(四线),SPISTEA引脚是配置成基本IO还是配制成SPISTEA?另外,在编程时需要人为的去控制该引脚拉高还是拉低吗?谢谢!

Hank Zhao:

SPI接口连接EEPROM时,SPISTEA引脚配置为SPISTEA功能。不需要人为的控制该引脚的高低,发送数据时该引脚自动拉低,发送接收自动拉高。

你好,请问当用28335的SPI接口与外部EEPROM相连时(四线),SPISTEA引脚是配置成基本IO还是配制成SPISTEA?另外,在编程时需要人为的去控制该引脚拉高还是拉低吗?谢谢!

wei you:

回复 Hank Zhao:

谢谢,再请教一个问题:当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){} 是否需要?

你好,请问当用28335的SPI接口与外部EEPROM相连时(四线),SPISTEA引脚是配置成基本IO还是配制成SPISTEA?另外,在编程时需要人为的去控制该引脚拉高还是拉低吗?谢谢!

wei you:

回复 Hank Zhao:

对了,请问你的意思是只有在有数据发送时该引脚才会自动被拉低,待数据发送结束后该引脚又会自动被拉高吗?

SPICLK呢?是不是也是只有在有数据发送时才会有,待数据发送结束后又会自动消失?

赞(0)
未经允许不得转载:TI中文支持网 » 28335的SPI
分享到: 更多 (0)