⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 windowsce_net 420串口驱动分析(1)--jesse.htm

📁 WinCE下串口编程应用实例
💻 HTM
📖 第 1 页 / 共 5 页
字号:
                  <DIV align=left>
                  <SCRIPT 
                  src="windowsCE_net 420串口驱动分析(1)--jesse.files/show_newmessage.htm"></SCRIPT>
                  </DIV></DIV></TD></TR></TBODY></TABLE><BR>
            <TABLE height=36 width="95%" border=0>
              <TBODY>
              <TR>
                <TD><STRONG>链接</STRONG></TD></TR>
              <TR>
                <TD height=15>
                  <DIV align=left>
                  <SCRIPT 
                  src="windowsCE_net 420串口驱动分析(1)--jesse.files/show_links.htm"></SCRIPT>

                  <SCRIPT 
                  src="windowsCE_net 420串口驱动分析(1)--jesse.files/ad_userlinks.htm"></SCRIPT>
                  </DIV></TD></TR></TBODY></TABLE><BR>
            <TABLE width="95%" border=0>
              <TBODY>
              <TR>
                <TD><STRONG>Blog信息</STRONG></TD></TR>
              <TR>
                <TD>
                  <DIV align=left>
                  <SCRIPT 
                  src="windowsCE_net 420串口驱动分析(1)--jesse.files/show_info.htm"></SCRIPT>
                  </DIV></TD></TR></TBODY></TABLE>
            <P align=center>
            <SCRIPT 
            src="windowsCE_net 420串口驱动分析(1)--jesse.files/show_xml.htm"></SCRIPT>
            <BR></P>
            <DIV align=center></DIV>
            <DIV align=center><BR></DIV></TD></TR></TBODY></TABLE></TD>
    <TD vAlign=top align=middle><BR><BR>
      <DIV id=saveurl><A 
      href="http://www.embeddedhelp.com/oblog/user1/6/index.html">首页</A> | <A 
      href="http://www.embeddedhelp.com/oblog/go.asp?action=up&amp;logid=10&amp;userid=6">上一篇</A> 
      | <A 
      href="http://www.embeddedhelp.com/oblog/go.asp?action=down&amp;logid=10&amp;userid=6">下一篇</A></DIV>
      <TABLE style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellSpacing=1 
      cellPadding=3 width="98%" bgColor=#cccccc border=0>
        <TBODY>
        <TR bgColor=#f8f8f8>
          <TD><FONT 
            size=4><STRONG>windowsCE.net&nbsp;420串口驱动分析(1)</STRONG></FONT><BR>jesse 
            发表于 2005-10-9 13:03:36 </TD></TR>
        <TR bgColor=#ffffff>
          <TD height=0>
            <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD>
                  <P><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">虽然串口通讯已经是普遍的标准而且广为大家熟知,但驱动中涉及的部分内容也可能在平时的应用中并不是很常用到,在这里做一个简单的介绍待后面说明到具体代码的时候可以连贯一些。</SPAN> 
                  </P>
                  <P class=MsoBodyText><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">串行通讯接口是目前十分流行的通讯接口之一。由于其电气界面的简单性使其在计算机领域的应用相当的广泛。在这里提到的串行通讯接口主要是指</SPAN><SPAN 
                  lang=EN-US>UART(</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>IRDA</SPAN><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两种。通常的串行连接电气连接上有</SPAN><SPAN 
                  lang=EN-US>3wire</SPAN><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
                  lang=EN-US>9wire</SPAN><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两种。</SPAN><SPAN 
                  lang=EN-US>3wire</SPAN><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的接线方式下定义了发送、接收和地三根连接。其用途就如名称一样分别用于发送、接收。下面是通常</SPAN><SPAN 
                  lang=EN-US>3wire</SPAN><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接的结构框图</SPAN> 
                  </P>
                  <P class=MsoBodyText><SPAN lang=EN-US><V:SHAPETYPE 
                  id=_x0000_t75><V:STROKE></V:STROKE><V:FORMULAS><V:F></V:F><V:F></V:F><V:F></V:F><V:F></V:F><V:F></V:F><V:F></V:F><V:F></V:F><V:F></V:F><V:F></V:F><V:F></V:F><V:F></V:F><V:F></V:F></V:FORMULAS><V:PATH></V:PATH><O:LOCK 
                  v:ext="edit" 
aspectratio="t"></O:LOCK></V:SHAPETYPE></SPAN></P>
                  <P class=MsoBodyText><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><IMG 
                  height=300 
                  src="windowsCE_net 420串口驱动分析(1)--jesse.files/o_Image1.jpg" 
                  width=350> <BR><BR>通常在串行接口控制器上会有两个</SPAN><SPAN 
                  lang=EN-US>FIFO</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><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><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。这一点在</SPAN><SPAN 
                  lang=EN-US>3wire</SPAN><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
                  lang=EN-US>9wire</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><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候可能就来不及相应之前</SPAN><SPAN 
                  lang=EN-US>ReceiveFIFO</SPAN><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就可能被填满了,这样后续发送过来的数据就会丢失,这样在需要数据可靠传输的情况下串行通讯的弊端也就显示出来了。如需要数据的可靠传输就需要对数据流的收发进行控制。在</SPAN><SPAN 
                  lang=EN-US>9wire</SPAN><SPAN 
                  style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中将串行连接定义为如下形式。</SPAN> 
                  </P>
                  <P>
                  <TABLE class=MsoNormalTable 
                  style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN-LEFT: 45pt; BORDER-LEFT: medium none; WIDTH: 405.4pt; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" 
                  cellSpacing=0 cellPadding=0 width=541 border=1>
                    <TBODY>
                    <TR 
                    style="HEIGHT: 4.85pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes">
                      <TD 
                      style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 35.4pt; COLOR: #ffffff; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 4.85pt; mso-border-alt: solid windowtext .5pt" 
                      vAlign=top width=47>
                        <P class=MsoNormal 
                        style="MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; TEXT-ALIGN: center; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" 
                        align=center><SPAN 
                        style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-bidi-language: AR-SA">针号<SPAN 
                        lang=EN-US><O:P></O:P></SPAN></SPAN> </P></TD>
                      <TD 
                      style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 41.1pt; COLOR: #ffffff; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 4.85pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" 
                      vAlign=top width=55>
                        <P class=MsoNormal 
                        style="MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; TEXT-ALIGN: center; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" 
                        align=center><SPAN lang=EN-US 
                        style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-bidi-language: AR-SA">1<O:P></O:P></SPAN> 
                        </P></TD>
                      <TD 
                      style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 41.1pt; COLOR: #ffffff; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 4.85pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" 
                      vAlign=top width=55>
                        <P class=MsoNormal 
                        style="MARGIN-LEFT: 0cm; MARGIN-RIGHT: 0cm; TEXT-ALIGN: center; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" 
                        align=center><SPAN lang=EN-US 
                        style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-bidi-language: AR-SA">2<O:P></O:P></SPAN> 
                        </P></TD>
                      <TD 
                      style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 41.1pt; COLOR: #ffffff; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 4.85pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" 
                      vAlign=top width=55>
                        <P class=MsoNormal 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -