51单片机串口接收数组数据并存储
我现在已经会了串口接受然后直接串口发送。可是要怎么把接收到的数组数据储存在单片机里呢?中断接收函数是不能有返回zhi的吧?如果用串口接收了后存储在数组里再用串口发出,该怎...
我现在已经会了串口接受然后直接串口发送。可是要怎么把接收到的数组数据储存在单片机里呢?中断接收函数是不能有返回zhi的吧?
如果用串口接收了后存储在数组里再用串口发出,该怎么确定发出的函数执行在中断接收以后呢? 展开
如果用串口接收了后存储在数组里再用串口发出,该怎么确定发出的函数执行在中断接收以后呢? 展开
3个回答
展开全部
你用一个数组变量(也就是开辟一个接收缓冲区)就OK了如:
#include<reg51.h>
#define uchar unsigned char
uchar buf[16],num;
void ser_isr() interrupt 4
{
if(RI)
{
RI=0;
buf[num]=SBUF;
num++;
num&=0x0f;
}
}
main()
{
TMOD=0x20;
SCON=0x50;
TH1=TL1=0xfd;
TR1=1;
ES=1;
EA=1;
while(1);
}
#include<reg51.h>
#define uchar unsigned char
uchar buf[16],num;
void ser_isr() interrupt 4
{
if(RI)
{
RI=0;
buf[num]=SBUF;
num++;
num&=0x0f;
}
}
main()
{
TMOD=0x20;
SCON=0x50;
TH1=TL1=0xfd;
TR1=1;
ES=1;
EA=1;
while(1);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询