Part Number: MSP432E411Y-BGAEVM
Hi,
I ran the sample code below.
DMATXRIS is set when uDMAChannelAssign is called.
So If I call IntEnable, an interrupt occurs even though the DMA transfer is not yet complete.
Why DMATXRIS is interrupted after Assign and is there any workaround?
The evaluation board is MSP42E411Y-BGAEVM Rev A.
==========================================================
#include "ti/devices/msp432e4/driverlib/driverlib.h"
uint8_t pui8ControlTable[1024] __attribute__ ((aligned(1024)));
#ifdef DEBUG
void __error__(char *pcFilename, uint32_t ui32Line)
{
}
#endif
int main(void)
{
// Set System Clock
(void)SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480), 120000000);
// Enable UDMA
SysCtlPeripheralEnable(SYSCTL_PERIPH_UDMA);
SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_UDMA);
uDMAEnable();
// Enable SSI2
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI2);
SysCtlPeripheralSleepEnable(SYSCTL_PERIPH_SSI2);
// Set Parameter SSI2
SSIConfigSetExpClk(SSI2_BASE, 120000000, 3, 0, 25000000, 8);
// Enable DMA Rx and DMA Tx
SSIDMAEnable(SSI2_BASE,(UART_DMA_RX | UART_DMA_TX));
// Enable SSI2 Operation
SSIEnable(SSI2_BASE);
// Channel Assign
uDMAChannelAssign(UDMA_CH13_SSI2TX);
while(true) {
// Do Nothing
}
}
===================================================================
Thanks,
Koki