找回密码
 注册
关于网站域名变更的通知
查看: 183|回复: 3
打印 上一主题 下一主题

STC15 89C52单片机串口1切换问题

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-7-26 13:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    我把AUXR1 = 0x40 切换为P3.6 P3.7,但用串口助手COM5(调试时用)连接P3.6 P3.7时没有反应,用回COM4(下载时用)却有反应,是切换不成功的意思????
    - S! L! {$ h; o. y3 `1 T3 v, U7 K6 s还是还有什么东西漏掉了??
    & \7 b  V$ b9 K
    • #include "reg52.h"1 Z) }4 ?" Z' G( |4 c

      $ }) b7 u6 U* d
    • #include "string.h"
    • typedef unsigned int u16;
    • typedef unsigned char u8;
    • sfr AUXR1 = 0xa2; //串口切换控制寄存器
    • #define AUXR1 = 0x40        //串口切换到P3.6和P3.7
    • u8 i = 0;
    • u8 buff[30];
    • u8 *p;
    • void UartInit(void){                //9600bps@11.0592MHz
    •         SCON = 0x50;                    //8位数据,可变波特率
    •         TMOD=0X20;                        //设置计数器工作方式2
    • //        AUXR |= 0x01;                    //串口1选择定时器2为波特率发生器
    • //        AUXR |= 0x04;                    //定时器2时钟为Fosc,即1T
    •         TL1 = 0xfd;                        //设定定时初值
    •         TH1 = 0xfd;                        //设定定时初值
    • //        AUXR |= 0x10;                    //启动定时器2
    •         ES = 1;
    •         EA = 1;
    •         TR1 = 1;
    • }
    • void main()
    • {
    •         UartInit(); //        串口初始化
    •         while(1)
    •         {
    •         }
    • }
    • void Usart() interrupt 4
    • {
    •         u8 receiveData;
    •         if(i >= 5){
    •                 i = 0;
    •                 memset(buff, 0, sizeof buff);
    •         }
    •         receiveData=SBUF;//出去接收到的数据
    •         buff = receiveData;
    •         RI = 0;//清除接收中断标志位
    •         if(i>2){
    •                 SBUF=buff;//将接收到的数据放入到发送寄存器
    •                 while(!TI);                         //等待发送数据完成
    •                 TI=0;                                //清除发送完成标志位
    •         }
    •         i++;
    • }/ N. B& @7 w+ L$ v# w4 [% a8 G3 Z
    4 }7 y9 Q( V  W# s: M
  • TA的每日心情

    1643439839
  • 签到天数: 1 天

    2#
    发表于 2022-7-26 13:57 | 只看该作者
    把‘#define’去掉,直接 AUXR1 = 0x40;
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 2 天

    [LV.1]初来乍到

    3#
    发表于 2022-7-26 14:01 | 只看该作者
    STC15系列可以切换串口,STC89C52没有此功能。
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2022-7-26 14:03 | 只看该作者
    P3.0, P3.1是下载仿真用的,用了这两个,下载时在软件上需要勾选“下次冷启动时,P3.2 P3.3为00时才可以下载程序”
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-18 01:34 , Processed in 0.140625 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表