工具/软件:
您好、工程师、
SPICLK 和 PTE 正常。 数据被写入 SPITXFIFO、并写入三段数据。 据观察、数据已进入 SPIDAT 移位寄存器、但无法将其发送出去。
LSPCLK 配置为20 MHz。SPI 配置为从器件。 具体配置如下:
void endat22_spi_fifo_init (){ //
//初始化 SPI FIFO 寄存器
//
SPI_disableModule (PM_ENDAT22_SPI);
SPI_disableLoopback (PM_ENDAT22_SPI);
SPI_setConfig (PM_ENDAT22_SPI、DEVICE_LSPCLK_FREQ_20M、SPI_PROT_POL1PHA0、
SPI_MODE_peripheral、500000、9);
SPI_enableFIFO (PM_ENDAT22_SPI);
SPI_setEmulationMode (PM_ENDAT22_SPI、SPI_emulation_free_run);
SPI_enableModule (PM_ENDAT22_SPI);
SPI_resetTxFIFO (PM_ENDAT22_SPI);
SPI_resetRxFIFO (PM_ENDAT22_SPI);
} |
CLB 生成 SPICLK(200kHz)Ω、并通过外部连接将其连接至 SPICLK 的 GPIO 端口、GPIO_23已接地:
GPIO_setPinConfig (GPIO_24_SPIB_PICO); GPIO_setPadConfig (24、 GPIO_PIN_TYPE_STD | GPIO_PIN_TYPE_PULLUP ); GPIO_setQualificationMode (24、 GPIO_QUAL_ASYNC); GPIO_setPinConfig (GPIO_25_SPIB_POCI); GPIO_setPadConfig (25、 GPIO_PIN_TYPE_STD); GPIO_setQualificationMode (25、 GPIO_QUAL_ASYNC); 但未接地/临时使用GPIO23替代 è ge_Pte、原理图中GPIO27应为SPIB; GPIO_setPinConfig (GPIO_23_SPIB_PTE); GPIO_setPadConfig (23、 GPIO_PIN_TYPE_STD); GPIO_setQualificationMode (23、 GPIO_QUAL_ASYNC); GPIO_setPinConfig (GPIO_26_SPIB_CLK); GPIO_setPadConfig (26、 GPIO_PIN_TYPE_STD | GPIO_PIN_TYPE_PULLUP ); GPIO_setQualificationMode (26、 GPIO_QUAL_ASYNC); |
由测量的 CLB 生成的 SPICLK 如下面的图4所示: