51单片机接收发送字符串问题 10
#include<reg52.h>#include<stdio.h>#include<string.h>char*x;//定义指针变量存放字符串unsignedcharf...
#include <reg52.h>
#include <stdio.h>
#include <string.h>
char * x; //定义指针变量 存放字符串
unsigned char flag = 0; //接受溢出标志位
void main(void)
{
TMOD=0x20;
TH1=TL1 = 0XFD; // STC89C52单片机, 11.0592MHZ , 9600波特率
TR1=1;
SCON=0x50;
while(1)
{
if (flag) //如果有溢出
{
flag = 0; //标志位清零
ES = 0; //关中断
for(x; *x != '\n'; x++) //另这里的话我不懂,SBUF不是
{ //只存一个字节,那怎么可能用
*x = SBUF; //FOR连续送字节呢?
}
ES = 1 ;
}
if(strcmp(x,"open")==0) //变量与OPEN字节作对比,完全一致则执行下面
{ ES = 0; TI = 1; printf("led is open"); //输出提示 TI = 0; ES = 1; P1 = 0X00; //点亮小灯
} }} void uart() interrupt 4
{// if(TI)// {// TI = 0;// tflag =1;// } if (RI) { RI = 0; flag = 1; }} 展开
#include <stdio.h>
#include <string.h>
char * x; //定义指针变量 存放字符串
unsigned char flag = 0; //接受溢出标志位
void main(void)
{
TMOD=0x20;
TH1=TL1 = 0XFD; // STC89C52单片机, 11.0592MHZ , 9600波特率
TR1=1;
SCON=0x50;
while(1)
{
if (flag) //如果有溢出
{
flag = 0; //标志位清零
ES = 0; //关中断
for(x; *x != '\n'; x++) //另这里的话我不懂,SBUF不是
{ //只存一个字节,那怎么可能用
*x = SBUF; //FOR连续送字节呢?
}
ES = 1 ;
}
if(strcmp(x,"open")==0) //变量与OPEN字节作对比,完全一致则执行下面
{ ES = 0; TI = 1; printf("led is open"); //输出提示 TI = 0; ES = 1; P1 = 0X00; //点亮小灯
} }} void uart() interrupt 4
{// if(TI)// {// TI = 0;// tflag =1;// } if (RI) { RI = 0; flag = 1; }} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询