久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1642|回復: 1
打印 上一主題 下一主題
收起左側(cè)

ST15F2K60S2單片機同時使用兩個串口,單此程序只能實現(xiàn)串口一的數(shù)據(jù)發(fā)送到串口二

[復制鏈接]
回帖獎勵 50 黑幣 回復本帖可獲得 5 黑幣獎勵! 每人限 1 次
跳轉(zhuǎn)到指定樓層
樓主
ID:324319 發(fā)表于 2018-12-20 19:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機代碼:
  1. #include <stc15f2k60s2.h>
  2. #include <STDIO.H>
  3. #include <INTRINS.H>

  4. #define U8 unsigned char
  5. #define U16 unsigned int
  6. #define U32 unsigned long
  7. #define FOSC 11059200L  
  8. #define BAUD 9600   
  9. #define TM (65536 - (FOSC/4/BAUD))
  10. sbit DIR = P3^2;
  11. sbit DIR2 = P3^3;

  12. #define S2RI 0x01
  13. #define S2TI 0x02

  14. bit flagTxd = 0;
  15. bit flagTxd2 = 0;
  16. U8 cntRxd = 0;
  17. U8 cntRxd2 = 0;
  18. U8 flagRxd = 0;
  19. U8 flagRxd2 = 0;
  20. U8 pdata bufRxd[64];
  21. U8 pdata bufRxd2[64];


  22. void Delay1ms()
  23. {
  24. unsigned char i, j;
  25. _nop_();
  26. _nop_();
  27. _nop_();
  28. i = 11;
  29. j = 190;
  30. do
  31. {
  32.   while (--j);
  33. } while (--i);
  34. }

  35. void Delay(unsigned int i)
  36. {
  37.   do
  38. {
  39.    Delay1ms();
  40. } while (--i);
  41. }


  42. void UartInit(void)
  43. {
  44. SCON = 0x50;
  45. S2CON =0X50;
  46. AUXR |= 0x01;
  47. AUXR |= 0x04;
  48. T2L = 0xE0;
  49. T2H = 0xFe;
  50. AUXR |= 0x10;
  51. ES = 1;
  52. IE2 = 0x01;
  53. EA = 1;
  54. }
  55. void UartWrite(U8 *buf, U8 len)
  56. {
  57. DIR = 1;
  58. while (len--)
  59. {
  60.   flagTxd = 0;
  61.   SBUF = *buf++;
  62.   while (!flagTxd);
  63. }
  64.   Delay(1);
  65.   DIR = 0;
  66. }
  67. void UartWrite2(U8 *buf, U8 len)
  68. {
  69.   DIR2 = 1;
  70.   while (len--)
  71. {
  72.   flagTxd2 = 0;
  73.   S2BUF = *buf++;
  74.   while (!flagTxd2);
  75. }
  76.   Delay(1);
  77.   DIR2 = 0;
  78. }
  79. void main (void)
  80. {
  81. U8 pdata Data[64];
  82. U8 pdata Data2[64];
  83. U8 i;
  84. UartInit();
  85. while(1)
  86. {
  87.    DIR = 0;
  88.    if (flagRxd==1)
  89.    {
  90.     Delay(7);
  91.     for (i=0;i<cntRxd;i++)
  92.       {
  93.         Data[i]=bufRxd[i];
  94.    }
  95.       UartWrite2(Data,cntRxd);
  96.       cntRxd=0;
  97.       flagRxd=0;
  98. }
  99.    DIR2 = 0;
  100.      if (flagRxd2==1)
  101.     {
  102.   Delay(7);
  103.   for (i=0;i<cntRxd2;i++)
  104.        {
  105.          Data2[i]=bufRxd2[i];
  106.        }
  107.      UartWrite(Data2,cntRxd2);
  108.      cntRxd2=0;
  109.      flagRxd2=0;
  110.   }
  111. }
  112. }


  113. void InterruptUART() interrupt 4
  114. {
  115. if (RI)
  116. {
  117. RI = 0;
  118. flagRxd=1;
  119. if (cntRxd < sizeof(bufRxd))
  120. {
  121. bufRxd[cntRxd++] = SBUF;
  122. }
  123. }
  124. if (TI)
  125. {
  126. TI = 0;
  127. flagTxd = 1;
  128. }
  129. }


  130. void InterruptUART2() interrupt 8
  131. {
  132. if (S2CON & S2RI)
  133. {
  134. S2CON &= ~S2RI;
  135. flagRxd2=1;
  136. if (cntRxd2 < sizeof(bufRxd2))
  137. {
  138.    bufRxd2[cntRxd2++] = S2BUF;
  139. }
  140. }
  141. if (S2CON & S2TI)
  142. {
  143. S2CON &= ~S2TI;
  144. flagTxd2 = 1;
  145. }
  146. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:324319 發(fā)表于 2018-12-20 19:12 | 只看該作者
來個大佬幫忙看看啊,串口一的數(shù)據(jù)可以發(fā)到串口二,但是串口2的數(shù)據(jù)無法發(fā)到串口一
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产免费一区 | 成人欧美一区二区三区白人 | 2018天天干天天操 | 玖玖免费 | 国产免费一区二区 | 久久久久免费精品国产小说色大师 | 色综合激情 | 人妖videosex高潮另类 | 欧美日韩看片 | 黄色大片在线视频 | 视频一区二区三区中文字幕 | 欧美日韩在线视频一区 | 一区二区三区四区免费观看 | 国产视频久久 | 国产免费一区二区三区 | 久久成人国产精品 | 国产福利在线小视频 | 久久一区视频 | 欧美日韩精品一区二区 | 毛片一区二区三区 | 中文字幕不卡视频在线观看 | 国产不卡视频 | 99在线播放 | 国产一区二区三区四区 | 日韩一区在线视频 | 久久久久久高潮国产精品视 | 日韩第一页 | 黑人精品欧美一区二区蜜桃 | 久久99久久99久久 | 久草在线在线精品观看 | 欧美激情综合五月色丁香小说 | 自拍偷拍亚洲欧美 | 日韩精品a在线观看图片 | 天天精品在线 | 狠狠综合网 | 中文字幕在线观看 | 99久久精品免费看国产四区 | 色吧色综合 | 国产在线一区二区三区 | 亚洲国产精品99久久久久久久久 | 日本久久视频 |