UCA0--UART DMA发送无法触发,DMA接收可以。
配置如下。不理解什么原因?
目前SPI用了通道0-1,正常 通道2用了UART接收。通道3配置如下,无法触发发送,只能使用UART_WRITE,或者UART_WRITEPOLLING。
{
DMA_initParam param = {0};
param.channelSelect = DMA_CHANNEL_3;
param.transferModeSelect = DMA_TRANSFER_SINGLE;
param.transferSize = len;
param.triggerSourceSelect = DMA_TRIGGERSOURCE_17;
param.transferUnitSelect = DMA_SIZE_SRCBYTE_DSTBYTE;
param.triggerTypeSelect = DMA_TRIGGER_HIGH;
DMA_init(¶m);
/*
* Configure DMA channel 0
* Use ADC10_A Memory Buffer as source
* Increment destination address after every transfer
*/
DMA_setSrcAddress(DMA_CHANNEL_3,
(uint32_t)buf,
DMA_DIRECTION_INCREMENT);
/*
* Base Address for the DMA Module
* Configure DMA channel 0
* Use ADC_Result[0] as destination
* Increment destination address after every transfer
*/
DMA_setDstAddress(DMA_CHANNEL_3,
USCI_A_UART_getTransmitBufferAddressForDMA (USCI_A0_BASE),
DMA_DIRECTION_UNCHANGED);
//Enable DMA channel 0 interrupt
//DMA_disableTransfers(DMA_CHANNEL_3);
//DMA_clearInterrupt(DMA_CHANNEL_3);
DMA_enableInterrupt(DMA_CHANNEL_3);
//Enable transfers on DMA channel 0
DMA_enableTransfers(DMA_CHANNEL_3);
DMA_startTransfer(DMA_CHANNEL_3);
}