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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC15 89C52單片機串口1切換問題

[復制鏈接]
跳轉到指定樓層
樓主
我把AUXR1 = 0x40 切換為P3.6 P3.7,但用串口助手COM5(調試時用)連接P3.6 P3.7時沒有反應,用回COM4(下載時用)卻有反應,是切換不成功的意思????
還是還有什么東西漏掉了??






  1. #include "reg52.h"
  2. #include "string.h"        

  3. typedef unsigned int u16;         
  4. typedef unsigned char u8;
  5. sfr AUXR1 = 0xa2; //串口切換控制寄存器
  6. #define AUXR1 = 0x40        //串口切換到P3.6和P3.7

  7. u8 i = 0;
  8. u8 buff[30];
  9. u8 *p;

  10. void UartInit(void){                //9600bps@11.0592MHz
  11.         SCON = 0x50;                    //8位數據,可變波特率
  12.         TMOD=0X20;                        //設置計數器工作方式2
  13. //        AUXR |= 0x01;                    //串口1選擇定時器2為波特率發生器
  14. //        AUXR |= 0x04;                    //定時器2時鐘為Fosc,即1T
  15.         TL1 = 0xfd;                        //設定定時初值
  16.         TH1 = 0xfd;                        //設定定時初值
  17. //        AUXR |= 0x10;                    //啟動定時器2
  18.         ES = 1;
  19.         EA = 1;
  20.         TR1 = 1;

  21. }
  22. void main()
  23. {        
  24.         UartInit(); //        串口初始化

  25.         while(1)
  26.         {
  27.                
  28.         }               
  29. }
  30. void Usart() interrupt 4
  31. {
  32.         u8 receiveData;
  33.         

  34.         if(i >= 5){         
  35.                 i = 0;
  36.                 memset(buff, 0, sizeof buff);               
  37.         }

  38.         receiveData=SBUF;//出去接收到的數據
  39.         buff[i] = receiveData;
  40.         RI = 0;//清除接收中斷標志位

  41.         if(i>2){
  42.                 SBUF=buff[i];//將接收到的數據放入到發送寄存器
  43.                 while(!TI);                         //等待發送數據完成
  44.                 TI=0;                                //清除發送完成標志位
  45.         }
  46.                                                 
  47.         i++;

  48. }
復制代碼

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

使用道具 舉報

沙發
ID:94031 發表于 2019-12-25 12:01 | 只看該作者
  把‘#define’去掉,直接 AUXR1 = 0x40;
回復

使用道具 舉報

板凳
ID:213173 發表于 2019-12-25 13:51 | 只看該作者
STC15系列可以切換串口,STC89C52沒有此功能。
回復

使用道具 舉報

地板
ID:472235 發表于 2019-12-25 18:27 | 只看該作者
xuyaqi 發表于 2019-12-25 12:01
把‘#define’去掉,直接 AUXR1 = 0x40;

還是不行
回復

使用道具 舉報

5#
ID:472235 發表于 2019-12-25 18:28 | 只看該作者
wulin 發表于 2019-12-25 13:51
STC15系列可以切換串口,STC89C52沒有此功能。

它是有兩個芯片的,一個89c52,一個STC15W408AS
回復

使用道具 舉報

6#
ID:718536 發表于 2020-12-31 17:27 | 只看該作者
我的也是切不過去。這是不是 一個坑來的?還有串口1必須切換到3.6 3.7腳嗎?不能用3.0    3.1腳做串口嗎?
回復

使用道具 舉報

7#
ID:911776 發表于 2021-5-27 11:06 | 只看該作者
suqianfu 發表于 2020-12-31 17:27
我的也是切不過去。這是不是 一個坑來的?還有串口1必須切換到3.6 3.7腳嗎?不能用3.0    3.1腳做串口嗎?

P3.0, P3.1是下載仿真用的,用了這兩個,下載時在軟件上需要勾選“下次冷啟動時,P3.2 P3.3為00時才可以下載程序”
回復

使用道具 舉報

8#
ID:1040462 發表于 2022-7-25 13:06 | 只看該作者
wulin 發表于 2019-12-25 13:51
STC15系列可以切換串口,STC89C52沒有此功能。

15怎么切 求大神指點。
回復

使用道具 舉報

9#
ID:213173 發表于 2022-7-25 20:42 | 只看該作者
啥也不會玩51 發表于 2022-7-25 13:06
15怎么切 求大神指點。




回復

使用道具 舉報

10#
ID:858196 發表于 2022-7-26 09:32 | 只看該作者
啥也不會玩51 發表于 2022-7-25 13:06
15怎么切 求大神指點。

他這個程序是有問題,看芯片手冊,切換串口根本不是AUXR這個寄存器,AUXR是輔助功能寄存器,真正切換用的是AUXR1,可以令S1_S1 = 0,S1_S0 = 1,就可以切換串口1的P36 37引腳,建議有問題時候看下芯片手冊,或者官方的示例程序
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人午夜视频在线观看 | 亚洲成人精品在线观看 | 国产一区二区精品在线 | 国产免费一区二区 | 99久久久久国产精品免费 | 国产免费va | 亚洲精品在线91 | 99视频网站 | 国产精品污www在线观看 | 精品久久精品 | 日本黄色不卡视频 | 久久69精品久久久久久久电影好 | 91久色 | 亚洲一区二区三区免费观看 | 日韩午夜影院 | 91精品国产麻豆 | 九九热这里 | 国产在线视频一区 | 久久久久久久久99精品 | 成人国产精品久久 | 成人天堂噜噜噜 | 国产a级黄色录像 | 欧美特级黄色 | 欧美在线a| 影音先锋成人资源 | 国产乱码精品一区二区三区忘忧草 | 国产精品久久久久久久久久三级 | 欧美国产日韩精品 | 国产精品久久亚洲7777 | 欧美日韩在线视频一区 | 亚洲一区二区在线播放 | 日韩欧美网| 韩国欧洲一级毛片 | 一区观看 | 视频一区二区中文字幕 | 久久精品亚洲国产奇米99 | 国产三级一区二区三区 | 久久国产欧美日韩精品 | 亚洲精品中文字幕在线 | 国产福利视频 | 久久九七 |