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.

[参考译文] MSP430F5244:DMA 工作问题

Guru**** 2055450 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/569532/msp430f5244-dma-working-problem

器件型号:MSP430F5244

下面给出了我的 DMA SPI 代码、但问题是我无法使用函数传输单字节数据。 如果我在 funcion 中做了一些错误、请帮助我。

void SPI_DMATx (uint8_t* SrcAddr、uint16_t Len)
{
DMACTL0 = DMA0TSEL_23; // DMA 中断触发器为 SPI_B1
__data16_write_addr ((无符号短整型)&DMA0SA、(无符号长整型)&SrcAddr[1]);
//源块地址
__data16_write_addr ((无符号短整型)&DMA0DA,(无符号长整型)&UCB1TXBUF);
//目标单地址
DMA0SZ = Len-1; //块大小
DMA0CTL = DMASRCINCR_3|DMASBDB|DMADD_0;// inc src
DMA0CTL |=DMAEN;
UCB1TXBUF=SrcAddr[0];
while (DMA1CTL 和 DMAEN);
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请参阅 TI 提供的代码示例 msp430f524x_dma_03.c 和以下 E2E 主题: e2e.ti.com/.../2085615

    在这些实例中、DMALEVEL 被置位、这样 DMA 就开始了、而无需填充 TXBUF。 您还需要确认您的 USCI 设置、以确保缓冲区被清空、从而再次设置 TXIFG 标志。

    此致、
    Ryan