Hi everyone,
I amb working on SPI with DMA.
Without using DMA with “Lpspi_Ip_SyncTransmit” the transmission works properly but when I use “Lpspi_Ip_AsyncTransmit” only 6 bytes are sent and the transmission never ends.
I attach code:
uint8 u8_frame_reset [] = {102, 170, 170, 170, 170, 170, 166, 166, 255};
int main(void)
{
/* Initalized clock */
Clock_Ip_Init(&Clock_Ip_aClockConfig[0]);
/* Initalized pin */
Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS0, g_pin_mux_InitConfigArr0);
/* Initialize interrupt */
IntCtrl_Ip_Init(&IntCtrlConfig_0);
IntCtrl_Ip_ConfigIrqRouting(&intRouteConfig);
/* Initialize DMA IP} Driver */
(void)Dma_Ip_Init(&Dma_Ip_xDmaInitPB);
/* Initalized spi using instance lpspi as a spi slave */
Lpspi_Ip_Init(&Lpspi_Ip_PhyUnitConfig_SpiPhyUnit_0_Instance_0_BOARD_InitPeripherals);
error = Lpspi_Ip_AsyncTransmit(&MASTER_EXTERNAL_DEVICE, u8_frame_reset, NULL, sizeof(u8_frame_reset), spi_callback);
while(1){
}
return 0;
}
And configuration:


If I try to send 2 bytes, the bytes are sent but the transmision never ends.
No callbacks.