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.

TMS320F280037C: LIN转SCI采用DMA进行收发

Part Number: TMS320F280037C

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void initDMA()
{
DMA_initController();
DMA_configAddresses(DMA_CH5_BASE, (uint16_t *)(LINA_BASE + LIN_O_TD0+2), ComTxRx[0].Buf);
DMA_configBurst(DMA_CH5_BASE, 1, 1, 0);
DMA_configTransfer(DMA_CH5_BASE, 2048, 1, 0);
DMA_configMode(DMA_CH5_BASE, DMA_TRIGGER_LINATX, DMA_CFG_ONESHOT_DISABLE |
DMA_CFG_CONTINUOUS_DISABLE | DMA_CFG_SIZE_16BIT);
DMA_setInterruptMode(DMA_CH5_BASE, DMA_INT_AT_END);
DMA_enableInterrupt(DMA_CH5_BASE);
DMA_enableTrigger(DMA_CH5_BASE);
DMA_configAddresses(DMA_CH6_BASE, ComTxRx[0].Buf,(uint16_t *)(LINA_BASE + LIN_O_RD0+2));
DMA_configBurst(DMA_CH6_BASE, 1 , 0, 1);
DMA_configTransfer(DMA_CH6_BASE, 2048, 0, 1);
DMA_configMode(DMA_CH6_BASE, DMA_TRIGGER_LINARX, DMA_CFG_ONESHOT_DISABLE |
DMA_CFG_CONTINUOUS_DISABLE | DMA_CFG_SIZE_16BIT);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

采用如上配置可进行偶数字节接收,现在想改成一个字节发收,

 LIN_setSCIFrameLength(LINA_BASE, 2);改成    LIN_setSCIFrameLength(LINA_BASE, 1);

DMA_configAddresses(DMA_CH6_BASE, ComTxRx[0].Buf,(uint16_t *)(LINA_BASE + LIN_O_RD0+2));
DMA_configBurst(DMA_CH6_BASE, 1 , 0, 1);
DMA_configTransfer(DMA_CH6_BASE, 2048, 0, 1);

这里配置不知道怎么改,改了好多种都触发不了中断了,请问如何更改?