尊敬的团队:
我的一个客户参考例程(LIN_ex3_sci_DMA)将 Lin 模块配置为 SCI 使用。 在该示例中、使用了多缓冲模式、需要进行修改以禁用多缓冲模式。 但是、在更改为禁用多缓冲器模式后、SCI 无法启动 DMA。 问题可能出在哪呢? 下面是他更改代码的位置:
主要方案定义:

修改 DMA 初始化函数 initdma():


3.修改 Lin / SCI 配置函数 configurescimode (void):

运行结果:



观察 LIN 的 SCITD 和 SCIRD、数据是相同的、都是7FH。 因此、LIN/SCI 正常工作。 DMACH6的目的地址和源地址 未被激活、这表明 DMACH6 没有接收到 RX_DMA 信号。 观察 LIN 的 SCISETINT 中的 SET_RX_DMA 和 SET_TX_DMA、两者都为0。 此器件尚未修改、且原始样片程序相同。 随附了原始采样程序的运行结果:


此外、技术手册中是否有任何错误?
SPRUIN7中给出的 LIN 寄存器地址如下:

driverlib 中定义的地址如下:

此致