我用的是6747的片子,用串口发送数据时,发现数据是错误的。我用的是FIFO模式,RXFIFTL是8bytes。波特率是115200,奇校验。
要发送的数据是从FPGA那取来的。FPGA配置到EMIFA接口,选取CS2空间的一个地址,从该地址上取数。
现在有几个疑惑:
1. 是应该在LSR寄存器的第六位为0时往THR写要发送的数,还是在为1时往THR写数?
2. EMIFA的时钟由SYSCLK3配置的,大概是120M的样子。会不会这个时钟太快,取得数不准确,跟这个有关系吗?我把时钟调低了,也没有改观。
串口的应用我在大程序中没感觉有什么问题,就是用在这么采数的小程序中,一直不对。
期待各位高手的解答,非常感谢!
rp zhang:
旧问题还没解决,又碰到新问题。
串口在什么情况下会出现LSR第六位一直为1的情况?时钟不稳的话会吗?或是别的什么可能的原因。
我是在为0时往THR写数,但现在一直为1,串口无法传送数据了。