用单片机串口向电脑串口调试助手发送一个字符串,用C语言编程

在PC机用串口调试助手发送一个字符串S,单片机收到字符后返回给PC机“Yes,Itis(S)”,串口波特率设为9600bps,设单片机的外部晶振为11.0592Mhz。... 在PC机用串口调试助手发送一个字符串S,单片机收到字符后返回给PC机“Yes,It is (S)”,串口波特率设为9600bps,设单片机的外部晶振为11.0592Mhz。 展开
 我来答
zyj1739
推荐于2017-09-25 · TA获得超过140个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:191万
展开全部
uchar idata SystemBuf[10]; //用于接收
uchar Rx=0; //接收数据条数
uchar code AT[]="YES,IT IS";
void UART_init (void)
{
TMOD=0x20; //用定时器1
PCON=0x00; //波特率不加倍
SCON=0x50; //串行方式1
TH1=0xFD; //9600
TL1=0xFD; //
EA=1; //
ES=1; //
TR1=1;
}
void sendchar(uchar ch) //串口送一个字节
{
SBUF=ch;
while(TI==0);
TI=0;
}
void sendstring(uchar *p) //送字符串
{

while(*p)
{
sendchar(*p);
p++;
}
}
///////
void receive(void) interrupt 4 using 1 //中断
{

if(RI)
{

if(Rx<10) //这儿最多收10个字节
{
SystemBuf[Rx]=SBUF;
Rx++;
}

RI=0;
}
}
///
void main()
{
uchar i;
UART_init();
while(1)
{
if(SystemBuf=='S')
{
sendstring(AT);
for(i=0;i<10;i++) //接收清0
{
SystemBuf[i]=0;
}
Rx=0;
}
}
}
//////////如有小错误,自己调下,手打的,大小写可能不正常,这是标准程序,直接用,
计算机技术价值
2011-11-22 · TA获得超过320个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:220万
展开全部
#include<reg52.h>
unsigned char flag,a;
void main()
{

TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
while(1)
{
/* if(RI==1)
{
RI=0;
P1=SBUF;
}*/
if(flag==1)
{
ES=0;
flag=0;
SBUF='1';//28;
while(!TI);
TI=0;
SBUF='2';//28;
while(!TI);
TI=0;
SBUF='3';//28;
while(!TI);
TI=0;
ES=1;
}
}
}

void ser() interrupt 4
{
RI=0;
// P1=SBUF;
a=SBUF;
flag=1;
}
把字符换一下就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
960310983
2011-11-21 · TA获得超过352个赞
知道小有建树答主
回答量:867
采纳率:0%
帮助的人:208万
展开全部
要这个干嘛? 不过倒是很简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式