主题中讨论的其他器件:TM4C123
您好!
我们在项目中使用 TM4C1237、SPI 闪存连接到微控制器。
我们能够从 SPI 闪存中读取芯片 ID 或 manifcature ID。 但我们无法读取或写入 SPI 闪存。
这个问题我们不能确定到底是什么问题。 请帮助我们解决此问题。
谢谢、
Deepanraj
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.
您好!
我们在项目中使用 TM4C1237、SPI 闪存连接到微控制器。
我们能够从 SPI 闪存中读取芯片 ID 或 manifcature ID。 但我们无法读取或写入 SPI 闪存。
这个问题我们不能确定到底是什么问题。 请帮助我们解决此问题。
谢谢、
Deepanraj
尊敬的 Bob:
如果有任何问题、请检查我的 SPI Init 函数。
void SPI_Init (void)
{
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_SSI0);
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
ROM_GPIOPinConfigure (GPIO_PA2_SSI0CLK);
ROM_GPIOPinTypeGPIOOutput (GPIO_Porta_base、GPIO_PIN_3);//手动 CS
ROM_GPIOPinConfigure (GPIO_PA4_SSI0RX);
ROM_GPIOPinConfigure (GPIO_PA5_SSI0TX);
ROM_GPIOPinTypeSSI (GPIO_Porta_base、GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5);// GPIO_PIN_1
//配置4MHz SPI 速度(80MHz/20=4)
ROM_SSIConfigSetExpClk (SSI0_BASE、ROM_SysCtlClockGet ()、SSI_FRF_MOTO_MOTO_0、SSI_MODE_MASTER、ROM_SysCtlClockGet ()/ 10、8);
ROM_SSIEnable (SSI0_BASE);
uint32_t tmp;
while (ROM_SSIDataGetNonBlocking (SSI0_BASE、&tmp);
}
谢谢、
Deepanraj