|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-9-8 10:51 编辑
: @7 i+ L; p* m& j/ E
% A3 v0 j* m* P& w) X刷屏,画重点:DMA 需要 RTOS
* W) `6 o$ F6 g7 [ Z5 M9 w38ms,DMA-i8080并口 8位刷TFT320*240彩屏
: Z9 b- Y9 W8 y9 t! \===@ILI9341, Ai8051U 实验箱
& C5 Y' l/ n' p% Z' |1 p. O& {19ms,DMA-i8080并口16位刷TFT320*240彩屏
2 @2 g5 E, o/ K0 f3 W===@ILI9341, Ai8051U 实验箱- ?( e+ M8 f. o, }2 D
条件:40M主时钟,DMA-8位并口,
/ n+ \5 _( W& Z3 s2 y8 w x" w1 _仅计算刷屏时间,不计算准备数据的时间9 Y3 Z- Y7 g, H5 n7 n+ @) g
代码为红绿蓝三基色320*240整屏循环刷,. m; _0 h' `' a7 Q9 q9 `+ ~
起始和结束信号用IO输出,接入示波器直接看。2 w* a& C0 `" ]" }6 O2 J
结论,320*240整屏刷屏时间为: 38ms% u: Y# n, n9 C+ M1 R
理论上用16位并口还可以再提升一倍8 w/ b" ~8 {& A2 M" k H2 }6 y% C
# o$ P& U6 V+ _2 I
关于DMA释放CPU:! |+ k5 x+ f6 t T2 w8 O
前段时间在论论上看到 “发现启动DMA传输后,要等待传输完成”
) t$ O9 q& {' a7 q8 h这样一种论调,似乎DMA真正的作用成摆设了。
) c! _. X3 F N/ Y3 A4 I% M其实并非如此:以下的代码为循环播放两个图片来模拟动画,
. t% K- @5 E/ G! Y8 s可以看到,CPU 使用率 始终保持到 1%。
. w& ?. t' f8 j: p& g4 [0 M" C
% V; }3 h8 k( P4 |4 Y( w( {; C# P& E
0 A9 f$ W8 g( U0 d% u
) r/ W% u) ~# @# ~% B |
|