微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 关于51单片机的串口2收发问题

关于51单片机的串口2收发问题

时间:10-02 整理:3721RD 点击:
做一个51的串口2收发,现在开串口之后无任何反应,是不是哪里写错了?找不出错误了,基本按照串口1的来的

#include"stc15.h"
#define u8 unsigned char
#define u16 unsigned int
init_uart2();
void main()
{
        init_uart2();
        ES2=1;
        EA=1;                 //开总中断
        while(1)
        {
                ;
        }
}
void init_uart2(void)                //9600bps@11.0592MHz
{
        S2CON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x04;                //定时器2时钟为Fosc,即1T
        T2L = 0xE0;                //设定定时初值
        T2H = 0xFE;                //设定定时初值
        AUXR |= 0x10;                //启动定时器2
}

void uart2_routine(void)   interrupt 8
{
        u8 databuf2;
        if(S2CON&S2RI)
        {
                S2CON &= ~ S2RI ;
                databuf2=S2BUF;
                S2BUF=databuf2;
        }       
        if(S2CON&S2TI)
        {
                S2CON &= ~ S2TI ;
        }
}

STC-ISP中有例程,可以参考。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top