📄 easy 51pro编程器的原理与扩充之easy isp篇.htm
字号:
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>》。在初始化的时候会把这些变量赋予设定的值。</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span></span></p>
<p class=MsoNormal style='text-indent:21.0pt'><span lang=EN-US>if(<span
class=SpellE>nProType</span>==1)//Easy ISP</span><span style='font-family:宋体;
mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>下载线</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>{</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>CString</span> <span class=SpellE>strEasyIspIni</span>;</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>strEasyIspIni</span>=m_strAppPath+"EasyIsp.ini";//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>从</span><span lang=EN-US>EasyIsp.ini</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>文件获得引脚配置信息</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>如果不存在</span><span lang=EN-US>"EasyIsp.ini"</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>文件,则使用默认的下载线配置</span><span lang=EN-US>(</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>老版本的</span><span lang=EN-US>)</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinMosi</span>=<span class=SpellE>GetPrivateProfileInt</span>("</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>引脚控制</span><span lang=EN-US>","MOSI",14,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinMiso</span>=<span class=SpellE>GetPrivateProfileInt</span>("</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>引脚控制</span><span lang=EN-US>","MISO",15,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinSck</span>=<span class=SpellE>GetPrivateProfileInt</span>("</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>引脚控制</span><span lang=EN-US>","SCK",1,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinRst</span>=<span class=SpellE>GetPrivateProfileInt</span>("</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>引脚控制</span><span lang=EN-US>","RST",16,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinLe</span>=<span class=SpellE>GetPrivateProfileInt</span>("</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>引脚控制</span><span lang=EN-US>","LE",17,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinOe</span>=<span class=SpellE>GetPrivateProfileInt</span>("</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>引脚控制</span><span lang=EN-US>","OE",2,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>m_nPinR1=<span
class=SpellE>GetPrivateProfileInt</span>("</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>引脚控制</span><span
lang=EN-US>","R1",3,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>m_nPinR2=<span
class=SpellE>GetPrivateProfileInt</span>("</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>引脚控制</span><span
lang=EN-US>","R2",4,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_bLe</span>=<span class=SpellE>GetPrivateProfileInt</span>("</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>锁存控制</span><span lang=EN-US>(LE)","Enable",1,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>m_b2Le=<span
class=SpellE>GetPrivateProfileInt</span>("</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>锁存控制</span><span
lang=EN-US>(LE)","Disable",0,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_bOe</span>=<span class=SpellE>GetPrivateProfileInt</span>("</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>输出控制</span><span lang=EN-US>(OE)","Enable",0,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>m_b2Oe=<span
class=SpellE>GetPrivateProfileInt</span>("</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>输出控制</span><span
lang=EN-US>(OE)","Disable",1,strEasyIspIni);</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>}</span></p>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>如果在设置“编程器”中,选择了</span><span
class=SpellE><span lang=EN-US>EasyISP</span></span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>,那么程序将从</span><span
lang=EN-US>EasyIsp.ini</span><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>中载入引脚的配置信息。</span></p>
<p class=MsoNormal style='text-indent:131.25pt;mso-char-indent-count:12.5'><span
lang=EN-US><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"
o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"
stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:314.25pt;
height:342pt'>
<v:imagedata src="Easy%2051Pro编程器的原理与扩充之Easy%20ISP篇.files/image001.png"
o:title=""/>
</v:shape><![endif]--><![if !vml]><img width=419 height=456
src="Easy%2051Pro编程器的原理与扩充之Easy%20ISP篇.files/image002.jpg" v:shapes="_x0000_i1025"><![endif]></span></p>
<p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>如果程序目录不存在该文件呢?那就是支持默认的下载线,这个下载线是原来设计的,这样就解决了程序向上兼容的问题。如果设置“编程器”中选择了</span><span
class=SpellE><span lang=EN-US>Atmel</span></span><span lang=EN-US> <span
class=SpellE>ByteBlaster</span></span><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>下载线或</span><span
class=SpellE><span lang=EN-US>Altera</span></span><span lang=EN-US> <span
class=SpellE>ByteBlaster</span></span><span style='font-family:宋体;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"'>下载线,那么就会进行下面这些配置。</span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>else
if(<span class=SpellE>nProType</span>==2)<span style='mso-tab-count:5'> </span>//<span
class=SpellE>Atmel</span> <span class=SpellE>ByteBlaster</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>下载线</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:1'> </span>{</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinRst</span>=PIN_SELIN;<span style='mso-tab-count:3'> </span>//PIN_SELIN</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>这些在</span><span class=SpellE><span lang=EN-US>ParllelPort.h</span></span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>中做了定义,这<span class=GramE>是并口引脚</span>的功能号</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinMosi</span>=PIN_D0;</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinMiso</span>=PIN_ACK;</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinSck</span>=PIN_STROBE;</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinLe</span>=PIN_D2;<span style='mso-tab-count:4'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>不用</span><span lang=EN-US>LE,</span><span style='font-family:
宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>为了延时假定一个不起作用的引脚</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_bLe</span>=0;</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>m_b2Le=0;</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span><span
class=SpellE>m_nPinOe</span>=0;<span style='mso-tab-count:6'> </span>//</span><span
style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"'>不用</span><span lang=EN-US>OE</span></p>
<p class=MsoNormal><span lang=EN-US><span style='mso-tab-count:2'> </span>m_nPinR1=<span
class=SpellE>m_nPinAf</span>=PIN_AUTO;<span style='mso-tab-count:1'> </span>//</span><span
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -