芯片手册描述到MMCST0寄存器的DXRDY状态位是:当FIFO中数据长度小于设置的FIFOLEV时,DXRDY会被置1.
但在linux-3.3-psp03.22.000.6.sdk,Davinci_mmc.c中断处理如下:检测到DXRDY置位时,向FIFIO中连续写入FIFILEV设置的长度。
这样有个疑问:假设FIFO设置为64字节,当传输过程中,FIFO减少一个字节后就会产生中断,并且置位DXRDY。这样按上述程序连续写入64字节进FIFO,这样FIFO不就溢出??
还是说我对DXDRY置位条件理解有误? 求助各位
Shine:
图片显示不出来,请到使用高级编辑器编辑文档里插入图片。
user4804899:
回复 Shine:
芯片手册描述到MMCST0寄存器的DXRDY状态位是:当FIFO中数据长度小于设置的FIFOLEV时,DXRDY会被置1.
但在linux-3.3-psp03.22.000.6.sdk,Davinci_mmc.c中断处理如下:检测到DXRDY置位时,向FIFIO中连续写入FIFILEV设置的长度。
这样有个疑问:假设FIFO设置为64字节,当传输过程中,FIFO减少一个字节后就会产生中断,并且置位DXRDY。这样按上述程序连续写入64字节进FIFO,这样FIFO不就溢出??
还是说我对DXDRY置位条件理解有误? 求助各位