“玩板”+于振南的STM32开发板实验2
<div class='showpostmsg'><p><br /><br />
<br />
<b><font color="#5E7384">此内容由EEWORLD论坛网友<font size="3">chenbingjy</font>原创,如需转载或用于商业用途需征得作者同意并注明出处</font></b><br />
第四章 巧策良方,数据狂飙:独特算法实现数据高速写入</p>
<p>物理扇区写函数:znFAT_Devce_Write_Sector。该函数实现了对存储设备单一扇区进行写入操作。</p>
<p>对簇内的连续扇区处理程序如下:</p>
<p>for(i=0;i<(Init_Args.SectorsPerClust);i++) //向簇内连续扇区写入数据</p>
<p>{</p>
<p> znFAT_Device_Write_Sector(pfi->File_CurSec+i,pbuf);</p>
<p> pbuf+=512;</p>
<p>}</p>
<p>这种实现方式是单扇区写+循环,称为"软件多扇区"。</p>
<p>硬件多扇区的方法为:先向存储设备写入开始扇区和要操作的总扇区数,随后就是纯粹的数据写入过程了。</p>
<p>所以硬件多扇区比软件多扇区效率高得多。</p>
<p>下面做一实验,用软硬两种方式向SD卡中的连续扇区写数据,看看时间对比如何。测试代码如下:</p>
<p></p>
<p>效果如图:</p>
<p></p>
<p>感觉差别不是很大,和振南书上说的有点出入。</p>
<p>这个不知道怎么回事。高手如知道,可告知,多谢!</p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页:
[1]