chenbingjy 发表于 2020-3-1 17:36

“玩板”+于振南的STM32开发板实验2

<div class='showpostmsg'><p><br />
<br />
<br />
<b><font color="#5E7384">此内容由EEWORLD论坛网友<font size="3">chenbingjy</font>原创,如需转载或用于商业用途需征得作者同意并注明出处</font></b><br />
第四章&nbsp; &nbsp;巧策良方,数据狂飙:独特算法实现数据高速写入</p>

<p>物理扇区写函数:znFAT_Devce_Write_Sector。该函数实现了对存储设备单一扇区进行写入操作。</p>

<p>对簇内的连续扇区处理程序如下:</p>

<p>for(i=0;i&lt;(Init_Args.SectorsPerClust);i++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; //向簇内连续扇区写入数据</p>

<p>{</p>

<p>&nbsp; &nbsp; znFAT_Device_Write_Sector(pfi-&gt;File_CurSec+i,pbuf);</p>

<p>&nbsp; &nbsp; pbuf+=512;</p>

<p>}</p>

<p>这种实现方式是单扇区写+循环,称为&quot;软件多扇区&quot;。</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]
查看完整版本: “玩板”+于振南的STM32开发板实验2