TI中文支持网
TI专业的中文技术问题搜集分享网站

2812的SCI FIFO复位和不复位一直读的结果不一样

2812的SCI通过FIFO接收串口助手发送的16字节数据,中断深度16,当我一次发送17个字节时,第一个接收的字节被丢掉,那么FIFO的数据应该是2-17,读完2-17这16个字节后如果我再读FIFO读到的数都是17,如果此时我复位然后使能FIFO再读FIFO读到的数据居然是16。。。Why?FIFO复位后不应该指向0吗

图中的DSP28x_usDelay(5000)是为了防止在其后面仿真打断点导致接收不到第17个字节

mangui zhang:SciaRegs.SCIFFTX.all = 0xC022;// Hold SCI in reset, enable FIFO, hold FIFO in reset, clear FIFO status, clear int, enable int,set int level to 0
看看有hold FIFO in reset

2812的SCI通过FIFO接收串口助手发送的16字节数据,中断深度16,当我一次发送17个字节时,第一个接收的字节被丢掉,那么FIFO的数据应该是2-17,读完2-17这16个字节后如果我再读FIFO读到的数都是17,如果此时我复位然后使能FIFO再读FIFO读到的数据居然是16。。。Why?FIFO复位后不应该指向0吗

图中的DSP28x_usDelay(5000)是为了防止在其后面仿真打断点导致接收不到第17个字节

Konlen Z:

回复 mangui zhang:

感谢您的指导,我的意思是我复位FIFO后重新使能FIFO,然后再读取FIFO读到的值不是FIFO0的值,而是FIFO1的值,想不明白为什么复位后反而读到的不是FIFO0的值

赞(0)
未经允许不得转载:TI中文支持网 » 2812的SCI FIFO复位和不复位一直读的结果不一样
分享到: 更多 (0)