STC12C5A60S2如何同时使用两个串口啊 5
STC12C5A60S2单片机现在想使用两个串口进行通信。晶振11.0592波特率2400数据位8位。串口1先发送一个数组里面的数据,然后串口1再接收数据,将接收到的数据...
STC12C5A60S2单片机 现在想使用两个串口进行通信。晶振11.0592 波特率2400 数据位8位。
串口1先发送一个数组里面的数据,然后串口1再接收数据,将接收到的数据放在一个数组里面,并判断数组的最后以为是不是(0x09),如果是0x09,则通过串口2将接收到的数据发送出去。这个程序困扰了我好几天了 。关键是串口2的初始化和发送函数一直没有写对。希望能够帮编写一下。 能拿出来的财富我都拿出来了 。 展开
串口1先发送一个数组里面的数据,然后串口1再接收数据,将接收到的数据放在一个数组里面,并判断数组的最后以为是不是(0x09),如果是0x09,则通过串口2将接收到的数据发送出去。这个程序困扰了我好几天了 。关键是串口2的初始化和发送函数一直没有写对。希望能够帮编写一下。 能拿出来的财富我都拿出来了 。 展开
4个回答
展开全部
STC官网 有例程的 这个是真正的 双串口 可以同时使用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C51的
#include <reg51.h>
void InitUART(void)
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xF4;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;
}
void SendOneByte(unsigned char c)
{
SBUF = c;
while(!TI);
TI = 0;
}
void main(void)
{
InitUART();
}
void UARTInterrupt(void) interrupt 4
{
if(RI)
{
RI = 0;
//add your code here!
}
else
TI = 0;
}
#include <reg51.h>
void InitUART(void)
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xF4;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;
}
void SendOneByte(unsigned char c)
{
SBUF = c;
while(!TI);
TI = 0;
}
void main(void)
{
InitUART();
}
void UARTInterrupt(void) interrupt 4
{
if(RI)
{
RI = 0;
//add your code here!
}
else
TI = 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询