c语言串口接收为一个字符串,c语言单片机编程中,怎样将一个串口的到得字符串赋值给一个数组...

2016-03-22 回答

我只能给你子程序,仅供参考

ie=0x90; //打开中断总开关及串口中断

scon=0x50; //设定串行口工作方式1,允许接收

tmod=0x20; //设定时器1,自动装载,产生破特率

th1=0xfd; //破特率为9600

tr1=1; //启动定时器1

pcon=0x80; //定义smod,

发送

while(ri==0) //ri==1;

{

; //等待数据发送完毕

}

ri=0; //手动清零

发送

void disf(unsigned int y)

{

unsigned char i;

dat[3]=y%10; // ===7

dat[2]=(y/10)%10; //==8

dat[1]=(y/100)%10; //==9

dat[0]=y/1000; //=1

for(i=0;i<4;i++)

{

sbuf=dat[i];

while(ti==0); //等待数据发送完毕

ti=0; //手动清零

}

}

接收

while{disp();} //无限循环

四位字符,发送

while(key==0);

disp(1949);

for(i=0;i<4;i++)

{

sbuf=dat[i];

while(ti==0); //等待数据发送完毕

ti=0; //手动清0

}

四位字符,接收 用串口中断

void ck_js() interrupt 4

{

unsigned char i;

for(i=0;i<4;i++)

{

while(ri==0); //等待数据接收

ri=0; //手动清零

dat[i]=sbuf; //接收到的字符存放

}

}

多位字符 接收函数

void seri_int() interrupt 4

{

count1=0;

if(ri)

{

unsigned int count2=10000;

while(1)

{

flag1=1;

while(!ri)

{

if(count2==0)

{

ri=0;

break;

}

count2--;

}

dat1[count1]=sbuf;

count1++;

ri=0;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值