如题,使用SPI2的DMA进行发送数据到OLED屏的显示RAM。实测发现(SPI2的时钟为16MHz):
传输128个的SCK时长:66us
传输256B的SCK时长: 133us
传输1024B的SCK时长:517us
传输4096B的SCK时长:1.916ms(√),有时为1.080ms(×)
传输8192B的SCK时长:2.9xxms(×),应该是4ms。
传输16KB的SCK时长:5.3ms(×),应该是8.192ms。
可见,DMA传输数据≤1024时,时长是对的。计算方法:传输字节数*8/(16,000,000)= 时长。
尝试解决的方法有:1. 每次都重新设置DMA通道的使能,SPI TxDMA的使能。---无效果
2. SPI2的频率由16MHz降为8MHz。-----------------------------无效果
版主和各位群友,有没有遇到过这样的问题,如何解决?
非常感谢大家。
|