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

📄 w77e58 双串口通信源代码.htm

📁 凑个崖边÷÷÷的
💻 HTM
📖 第 1 页 / 共 2 页
字号:
    <br>
    if(CKCON&amp;0x20)mBps*=4;<br>
    else mBps*=12;<br>
    <br>
    TL2= RCAP2L=(~mBps)+1;<br>
    TH2=RCAP2H=0xff;<br>
    T2CON|=0x30; /*选择T2为波特率发生器*/<br>
    TR2=1;<br>
    }<br>
    <br>
    if(Location==0){<br>
    SCON|=0x40; /*方式8位*/<br>
    REN=1;<br>
    ES=1;<br>
    }<br>
    else {<br>
    ACC=mMode;<br>
    if(ACC3){<br>
    SCON1|=0xc0; /*方式9位*/<br>
    }<br>
    else {<br>
    SCON1|=0x40; /*方式8位*/<br>
    }<br>
    fSeri1_Odd=ACC4; /*奇偶效验方式,0奇*/<br>
    <br>
    REN_1=1;<br>
    ES1=1;<br>
    }<br>
    }<br>
    <br>
    /**************************************************<br>
    串口0中断<br>
    **************************************************/<br>
    void Int_serial0() interrupt 4 using 1{<br>
    // ES=0; /*关<br>
    串行口中断*/<br>
    if(TI){<br>
    TI = 0; /*清<br>
    发送中断标志*/<br>
    if(Seri0_SendNum==0)fSeri0_Send_Ok=0;<br>
    else {<br>
    SBUF=*Seri0_ReadSendPoint;<br>
    <br>
    if(Seri0_ReadSendPoint==(xBuf_Send_0+XBUFSERIAL0SEND-1))<br>
    Seri0_ReadSendPoint=xBuf_Send_0;<br>
    else Seri0_ReadSendPoint++;<br>
    Seri0_SendNum--;<br>
    }<br>
    <br>
    }<br>
    <br>
    if(RI){<br>
    RI = 0;<br>
    *Seri0_WriteReciPoint=SBUF;<br>
    if(Seri0_WriteReciPoint==(xBuf_Reci_0+XBUFSERIAL0RECI-1))<br>
    Seri0_WriteReciPoint=xBuf_Reci_0;<br>
    else Seri0_WriteReciPoint++;<br>
    Seri0_ReciNum++;<br>
    }<br>
    <br>
    // ES=1; /*开<br>
    中断*/<br>
    }<br>
    <br>
    /**************************************************<br>
    串口1中断<br>
    **************************************************/<br>
    void Int_serial1() interrupt 7 using 1{<br>
    // ES1=0; /*关<br>
    串行口中断*/<br>
    if(TI_1){<br>
    TI_1 = 0; /*清<br>
    发送中断标志*/<br>
    <br>
    if(Seri1_SendNum==0)fSeri1_Send_Ok=0; /*已发送完毕*/<br>
    else {<br>
    if((SCON1&amp;0xc0)==0xc0){<br>
    ACC=*Seri1_ReadSendPoint;<br>
    if(fSeri1_Odd==0)TB8=~P; /*奇效验*/<br>
    else TB8=P; <br>
    /*偶效验*/<br>
    }<br>
    <br>
    SBUF1=*Seri1_ReadSendPoint;<br>
    if(Seri1_ReadSendPoint==(xBuf_Send_1+XBUFSERIAL1SEND-1))<br>
    Seri1_ReadSendPoint=xBuf_Send_1;<br>
    else Seri1_ReadSendPoint++;<br>
    Seri1_SendNum--;<br>
    }<br>
    // SBUF1=0xaa;<br>
    }<br>
    <br>
    if(RI_1){<br>
    RI_1 = 0;<br>
    *Seri1_WriteReciPoint=SBUF1;<br>
    if(Seri1_WriteReciPoint==(xBuf_Reci_1+XBUFSERIAL1RECI-1))<br>
    Seri1_WriteReciPoint=xBuf_Reci_1;<br>
    else Seri1_WriteReciPoint++;<br>
    Seri1_ReciNum++;<br>
    }<br>
    <br>
    // ES1=1; <br>
    /*开中断*/<br>
    }<br>
    /***********************************************************<br>
    串口1打包程序<br>
    ***********************************************************/<br>
    void Seri1_Block()<br>
    {<br>
    unsigned char i,j;<br>
    <br>
    if(Seri1_ReciNum==0)return;<br>
    <br>
    /*包*/<br>
    if(Seri1_ReciNum&gt;BLOCKMAX)i=BLOCKMAX;<br>
    else i=Seri1_ReciNum;<br>
    <br>
    /*--------------------------------------*/<br>
    Seri0_PushSend(STX);<br>
    Crc8_ClrSum();<br>
    Seri0_PushSend(SERIAL1);<br>
    Crc8_AddSum(SERIAL1);<br>
    Seri0_PushSend(i);<br>
    Crc8_AddSum(i);<br>
    <br>
    while(i&gt;0){<br>
    j=Seri1_PopReci();<br>
    Seri0_PushSend(j);<br>
    Crc8_AddSum(j);<br>
    i--;<br>
    }<br>
    <br>
    Seri0_PushSend(Crc8_GetSum());<br>
    Seri0_PushSend(ETX);<br>
    }<br>
    <br>
    <br>
    /**************************************************<br>
    串口1接收缓冲清除<br>
    **************************************************/<br>
    void Seri1_BufCls()<br>
    {<br>
    Seri1_ReadReciPoint=xBuf_Reci_1;<br>
    Seri1_WriteReciPoint=xBuf_Reci_1;<br>
    Seri1_ReciNum=0;<br>
    }<br>
    <br>
    /*<br>
    code unsigned char tTest2[]={0x02,0x00,0x02,0x0C,0x03,0xC3,0x03};<br>
    code unsigned char tTest1[]={0x02,0x00,0x02,0x0B,0x03,0x9D,0x03};<br>
    <br>
    void Ser0_Test()<br>
    {<br>
    unsigned char i;<br>
    <br>
    for(i=0;i&lt;7;i++){<br>
    *Seri0_WriteReciPoint=tTest1[i];<br>
    if(Seri0_WriteReciPoint==(xBuf_Reci_0+XBUFSERIAL0RECI-1))<br>
    Seri0_WriteReciPoint=xBuf_Reci_0;<br>
    else Seri0_WriteReciPoint++;<br>
    Seri0_ReciNum++;<br>
    }<br>
    <br>
    for(i=0;i&lt;7;i++){<br>
    *Seri0_WriteReciPoint=tTest2[i];<br>
    if(Seri0_WriteReciPoint==(xBuf_Reci_0+XBUFSERIAL0RECI-1))<br>
    Seri0_WriteReciPoint=xBuf_Reci_0;<br>
    else Seri0_WriteReciPoint++;<br>
    Seri0_ReciNum++;<br>
    }<br>
    }<br>
    */<br>
    <br>
    #define NONEPARITY 0x0<br>
    #define ODDPARITY 0x08<br>
    #define EVENPARITY 0x18<br>
    #define DATA7BIT 0x80<br>
    <br>
    /*th=256-2^n*f/384/B*/<br>
    //#define BPS115200_22M 1|0x40<br>
    //#define BPS57600_22M 1<br>
    //#define BPS38400_22M 3|0x40<br>
    //#define BPS19200_22M 3<br>
    //#define BPS9600_22M 6<br>
    //#define BPS4800_22M 12<br>
    //#define BPS2400_22M 24<br>
    //#define BPS1200_22M 48<br>
    <br>
    #define BPS115200_30M_77E58 2|0x80 /**3*/<br>
    #define BPS57600_30M_77E58 4|0x80 /**3*/<br>
    #define BPS38400_30M_77E58 2<br>
    #define BPS19200_30M_77E58 4<br>
    #define BPS9600_30M_77E58 8<br>
    #define BPS4800_30M_77E58 16<br>
    #define BPS2400_30M_77E58 32<br>
    <br>
 </p>
          </td>
        </tr>
        </table>
        </center>
      </div>
    </td>
  </tr>
</table>
<table width="601" border="0" cellspacing="0" cellpadding="5" height="24" style="border-collapse: collapse" bordercolor="#111111">
  <tr>
          <td width="580" height="25" align="center">
      <p align="center" style="margin-top: 0; margin-bottom: 0">
           </p>
      <p align="center" style="margin-top: 0; margin-bottom: 0">
          <font size="4"><a target="_blank" href="http://www.fjmcu.com/">回首页</a></font></p>
          </td>
        </tr>
  <tr>
    <td width="593" valign="top" height="1"> 
      <p align="center" style="margin-top: 0; margin-bottom: 0">
          <font color="#FFFFFF" style="font-size: 7pt">MCS-51单片机、AVR系列MCU、CPLD/FPGA原理与应用实例,源程序下载,提供设计开发服务,原名:沈文的单片机世界,现更名为:精诚电子设计</font></p>
      <p align="center" style="margin-top: 4; margin-bottom: 4">
      <img border="0" src="../../image/line.gif" width="598" height="2"></td>
  </tr>
</table>
<div align="left">
<table width="480" border="0" cellspacing="0" cellpadding="5" height="126" style="border-collapse: collapse" bordercolor="#111111">
  <tr>
    <td width="247" valign="top" height="27"> 
      <table width="597" border="0" cellspacing="0" cellpadding="2" height="4" style="border-collapse: collapse" bordercolor="#111111">
        <tr> 
          <td width="577" height="1" colspan="3">
          </td>
        </tr>
        <tr>
          <td width="577" height="28" align="center" colspan="3">
          <p style="margin-top: 4; margin-bottom: 4">精诚电子设计,域名:<span lang="en-us"><a target="_blank" href="http://www.fjmcu.com/">http://www.fjmcu.com</a></span></p>
          <p style="margin-top: 4; margin-bottom: 4"><span class="tab">
          <font class="tab" size="2">Copyright@ 2000-2003 all rights reserved.</font></span></td>
        </tr>
        <tr>
          <td width="91" height="70" align="center">
          <p style="margin-top: 4; margin-bottom: 4" align="left"> </p>
          <p style="margin-top: 4; margin-bottom: 4"> </td>
          <td width="149" height="70" align="center">
          <p style="margin-top: 4; margin-bottom: 4" align="left">与站长联系:</p>
          <p style="margin-top: 4; margin-bottom: 4" align="left">手机:013905998618</p>
          <p style="margin-top: 4; margin-bottom: 4" align="left">传真:<span lang="en-us">0599-5822874</span></td>
          <td width="244" height="70" align="center">
          <p style="margin-top: 4; margin-bottom: 4" align="left">邮件:<A HREF="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#104;&#101;&#108;&#112;&#64;&#102;&#106;&#109;&#99;&#117;&#46;&#99;&#111;&#109;">&#104;&#101;&#108;&#112;&#64;&#102;&#106;&#109;&#99;&#117;&#46;&#99;&#111;&#109;</A></td>
        </tr>
        </table>
    </td>
  </tr>
</table>
</div>
</body>
</html>

⌨️ 快捷键说明

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