使用280025C做一个产品,需要三个串口。SCI已被占用,所以将两个LIN配置为SCI使用。
由于LIN/SCI的多缓冲模式只有8级,又不够用,所以需要用LIN/SCI启动DMA进行传输。
采用C2000Ware_3_03_00_00中的示例 lin_ex3_sci_dma 进行修改。
该示例中是采用多缓冲模式的,需要修改为禁用多缓冲模式,但此时出错了。
原示例在我们自己做的板子上正常运行,但是,改为禁用多缓冲模式后,SCI不能启动DMA。
不知类似的问题有没有遇到过的,请各位高手各位大侠帮帮忙!
另外,发现TI手册中有错误,也害我不浅,分享一下,免得用这个芯片的人也走弯路。
在SPRUIN7中给出的LIN 寄存器地址是这样的:
而 driverlib 中定义的地址是这样的:
仔细一看,整整差了一倍!!!
发现此问题后,赶紧TI网站上找勘误表,没有找到!
请TI的大师们给个解释哈
我的程序95%是汇编写的,所以我需要从手册上得到寄存器的地址,按说明书编程后,什么动静都没有。。。
因此,才找到示例对比。发现地址问题后,LIN/SCI可以正常工作了,但是我编的程序不能启动DMA
便又运行示例,修改示例,才发现禁止多缓冲模式时,DMA不启动
不知是我哪里搞错了
求指点