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.

TMS320F280025C: controlCARDs板卡在调试Lin作为SCI模式并采用DMA接收时,DMA中断相关问题

Part Number: TMS320F280025C

采用历程lin_ex3_sci_dma历程

修改如下

uint32_t PRESCALER=0x0000144;
uint16_t DIVIDER=0x0008;

波特率改为19200

Device_initGPIO();
GPIO_setPinConfig(DEVICE_GPIO_CFG_LINTXA);
GPIO_setPinConfig(DEVICE_GPIO_CFG_LINRXA);

初始化GPIO

//Interrupt_enable(INT_DMA_CH5);
Interrupt_enable(INT_DMA_CH6);

屏蔽发送中断,只保留接收中断

 

LIN_disableIntLoopback(LINA_BASE);

关闭回环

DMA_setInterruptMode(DMA_CH6_BASE, DMA_INT_AT_BEGINNING);

中断设置为开启即中断

Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP7);

DMA通道6中断内仅保留清除标志位

现在的现象是,DMA确实能搬运过来数据,但是只有第一次发送数据时可以触发DMA通道6的中断,后续的数据来了也不会触发中断,由于项目赶得紧,所以来论坛询问,最终需要串口每接收一次数据包DMA触发一次中断