嵌入式开发者社区

标题: mcasp多路串行器 [打印本页]

作者: zhangzhang    时间: 2017-1-5 18:44
标题: mcasp多路串行器
我用的是mcasp:c6748demo里面那个纯发数据的工程,配置一个串行器有数据出来,但是配置三个串行器就没有数据了。没有用创龙的开发板,我们自己做了一块板子。配置如下:[attach]1798[/attach][attach]1799[/attach]
5 Z( [6 y* Z5 `) P* e因为一个串行器能出数据,并且AHCLKX,ACLKX,AFSX几个时钟都是正确的,但是一旦配置多个串行器工作,就不正常了,一直在下面这个while里面,xbuf一直在等待数据:[attach]1800[/attach]7 N, {& Z7 b7 p6 C, V
请大神解决一下非常感谢!!
2 X5 h; \' R$ H6 Q; z" l
作者: zhangzhang    时间: 2017-1-5 18:47
RX0,RX1,RX2分别为13,14,15$ W3 r* {/ c& z3 N
TX0,TX1,TX2分别为10,11,12,* Q  x3 Y6 v' k5 Z* Z$ D8 ~
可以不用管接收串行器,只看发送串行器。
作者: human    时间: 2017-1-6 09:55
是不是DMA的配置有问题,单步看看
作者: zhangzhang    时间: 2017-1-6 10:49
human 发表于 2017-1-6 09:55
7 g1 I* O# x% h/ t' e是不是DMA的配置有问题,单步看看

+ y+ p  g! V) @; d  b$ a' rDMA用的是demo里面的配置啊,
+ n2 |# h4 g  V# J2 |8 F我就只配置了 McASPWriteFifoEnable(SOC_MCASP_0_FIFO_REGS,3,1);这个后读 McASPWriteFifoSts(SOC_MCASP_0_FIFO_REGS);这个时候fifo里面只有一个字。
& h- X, v5 B9 ~3 Z) z- L& h而配置串口为一个时McASPWriteFifoEnable(SOC_MCASP_0_FIFO_REGS,1,1),fifo里面有64个字。
作者: Lewis    时间: 2017-1-6 21:14
zhangzhang 发表于 2017-1-6 10:496 d, b0 p4 v. O7 Z! d# o8 K
DMA用的是demo里面的配置啊,
- i, G9 J, ]; f0 N/ K我就只配置了 McASPWriteFifoEnable(SOC_MCASP_0_FIFO_REGS,3,1);这个后读  ...
' y# ]* U7 K6 I
可以先不用DMA,直接使用CPU读写FIFO,调通之后再添加DMA
作者: zhangzhang    时间: 2017-1-9 09:30
Lewis 发表于 2017-1-6 21:14% m; e/ _& F$ h) ?: j2 d2 m
可以先不用DMA,直接使用CPU读写FIFO,调通之后再添加DMA
, [" w; u& m$ W4 U, W
我配置一个串行器就能出数据,但是配置三个串行器就没数据出来了,不知道这是怎么回事% _. I$ M( R" I. g' N1 ?: n

作者: Lewis    时间: 2017-1-9 16:20
建议从最简单的开始调试,可以先考虑不使用DMA和FIFO,直接读写数据缓冲寄存器




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4