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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4078|回復: 5
打印 上一主題 下一主題
收起左側

stc8h3k64s4單片機串口1切換問題

[復制鏈接]
跳轉到指定樓層
樓主
以下是串口1在P3.0 P3.1管腳時的 正常程序,串口助手在P3.0 P3.1收發都正常

只要加上注釋掉的這個串口切換語句          P_SW1 = 0x80;//串口1切換到 P1.6 P1.7   串口助手在 P1.6 P1.7測試沒收發到數據,在P3.0 P3.1測試也沒收發到數據,串口1就不正常了 。請教各位是否遇到同樣問題?是不是那個寄存器沒設置到位?以上程序基本都是官方例程。

單片機源程序如下:
  1. #include "reg51.h"
  2. #include "intrins.h"

  3. sbit CLK = P3^3;
  4. sbit DIO = P3^4;

  5. sbit HX711_SCK=P1^4;
  6. sbit HX711_DOUT=P1^3;

  7. sbit SET=P3^5;  //設置鍵
  8. sbit MOVE=P3^7;  // 移動鍵
  9. sbit DOWN=P2^1; //下降建
  10. sbit UP=P2^3;  //上升建
  11. sbit QX=P2^5;//缺相
  12. sbit LL=P2^7;//左回路
  13. sbit RL=P2^6;//右回來
  14. //sbit BJ=P5^4;//報警輸出

  15. sbit UP1=P0^0;  //設置鍵
  16. sbit DOWN1=P0^1;  // 移動鍵
  17. sbit STOP1=P0^2; //下降建
  18. sbit BAK1=P0^3;  //上升建

  19. sbit D1=P3^6;
  20. sbit D2=P2^0;

  21. sbit D3=P2^2;

  22. #define FOSC        11059200UL
  23. #define BRT         (65536 - FOSC / 115200 / 4)

  24. sfr     AUXR    =   0x8e;
  25. sfr     T2H     =   0xd6;
  26. sfr     T2L     =   0xd7;

  27. sfr     P_SW1       =   0xa2;

  28. sfr     P0M1    =   0x93;
  29. sfr     P0M0    =   0x94;
  30. sfr     P1M1    =   0x91;
  31. sfr     P1M0    =   0x92;
  32. sfr     P2M1    =   0x95;
  33. sfr     P2M0    =   0x96;
  34. sfr     P3M1    =   0xb1;
  35. sfr     P3M0    =   0xb2;
  36. sfr     P4M1    =   0xb3;
  37. sfr     P4M0    =   0xb4;
  38. sfr     P5M1    =   0xc9;
  39. sfr     P5M0    =   0xca;

  40. bit busy;
  41. char wptr;
  42. char rptr;
  43. char buffer[16];

  44. void UartIsr() interrupt 4
  45. {
  46.     if (TI)
  47.     {   D1 = !D1;
  48.         TI = 0;
  49.         busy = 0;
  50.     }
  51.     if (RI)
  52.     {   D2 = !D2;
  53.         RI = 0;
  54.         buffer[wptr++] = SBUF;
  55.         wptr &= 0x0f;
  56.     }
  57. }

  58. void UartInit()
  59. {               
  60.       

  61.           SCON = 0x50;                //8位數據,可變波特率
  62.           AUXR |= 0x01;                //串口1選擇定時器2為波特率發生器
  63.           AUXR &= 0xFB;                //定時器時鐘12T模式
  64.           T2L = 0xE8;                //設置定時初始值
  65.           T2H = 0xFF;                //設置定時初始值
  66.           AUXR |= 0x10;                //定時器2開始計時
  67.     wptr = 0x00;
  68.     rptr = 0x00;
  69.     busy = 0;
  70. }

  71. void UartSend(char dat)
  72. {
  73.     while (busy);
  74.     busy = 1;
  75.     SBUF = dat;
  76. }

  77. void UartSendStr(char *p)
  78. {
  79.     while (*p)
  80.     {
  81.         UartSend(*p++);
  82.     }
  83. }

  84. void main()
  85. {
  86.     P0M0 = 0x00;
  87.     P0M1 = 0x00;
  88.     P1M0 = 0x00;
  89.     P1M1 = 0x00;
  90.     P2M0 = 0x00;
  91.     P2M1 = 0x00;
  92.     P3M0 = 0x00;
  93.     P3M1 = 0x00;
  94.     P4M0 = 0x00;
  95.     P4M1 = 0x00;
  96.     P5M0 = 0x00;
  97.     P5M1 = 0x00;

  98. //          P_SW1 = 0x80;//串口1切換到 P1.6 P1.7

  99.     UartInit();
  100.     ES = 1;
  101.     EA = 1;
  102.     UartSendStr("Uart Test !\r\n");

  103.     while (1)
  104.     {   
  105.         if (rptr != wptr)
  106.         {
  107.             UartSend(buffer[rptr++]);
  108.             rptr &= 0x0f;
  109.         }
  110.     }
  111. }
復制代碼


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

使用道具 舉報

沙發
ID:401564 發表于 2021-11-23 17:19 | 只看該作者
首先,你要保證你的串口設定是正確的,先不要切換,使用P3.0和P3.1進行測試,測試好了,再加入切換代碼試一下
回復

使用道具 舉報

板凳
ID:213173 發表于 2021-11-23 21:05 | 只看該作者
參考官方例程


回復

使用道具 舉報

地板
ID:900273 發表于 2021-11-24 08:41 | 只看該作者
問題已經搞定 ,犯了個超級低級的錯誤,沒看清楚數據手冊,相似芯片的管腳被想當然的整的一樣了。

STC8H3K64 LQFP32.JPG (79.29 KB, 下載次數: 79)

STC8H3K64

STC8H3K64

stc8h1k28 LQFP32.JPG (79.87 KB, 下載次數: 81)

STC8H1K28

STC8H1K28
回復

使用道具 舉報

5#
ID:900273 發表于 2021-11-24 09:11 | 只看該作者
多謝二位總工,給您添麻煩了!
回復

使用道具 舉報

6#
ID:117405 發表于 2023-6-12 17:05 | 只看該作者
STC8H3K32S按官方例程設置波特率,串口接收數據不正確,什么原因
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区免费 | 国产福利资源在线 | 国产一区二区三区久久久久久久久 | 国产一区二区在线免费视频 | www.一区二区三区.com | 亚洲激情综合 | 涩爱av一区二区三区 | 插插宗合网 | 亚洲国产精品久久久久婷婷老年 | 一区二区三区国产精品 | 久久精品国产清自在天天线 | 亚洲精品一区二区三区蜜桃久 | 懂色中文一区二区在线播放 | 午夜影院在线观看 | 中文字幕人成乱码在线观看 | 日韩免费视频一区二区 | 精品国产99| 2023亚洲天堂 | 91视频a| 亚洲欧美日韩一区二区 | 国产精品毛片久久久久久久 | 成人久久久久 | 亚洲人va欧美va人人爽 | 国产91在线播放 | 国产成人精品999在线观看 | 成人精品视频99在线观看免费 | 玖玖国产 | 一区二区三区四区电影 | 亚洲电影一区二区三区 | 亚洲一区在线日韩在线深爱 | 久久久婷婷 | 成人欧美一区二区三区黑人孕妇 | 理论片免费在线观看 | 亚洲一区二区在线 | 免费艹逼视频 | 国产精品91视频 | 日韩综合 | 日本一道本 | 色天天综合 | 九九热在线免费观看 | 在线不卡 |