c语言给串口发送一个数组,求助啊 单片机串口发送数组的问题

打算用单片机发送一个数组recevie[8],应该怎么做啊:

#include

#define uchar unsigned char

#define uint unsigned int

uchar n=0;

uchar receive[8];

uchar n;

uchar m;

void UartInit(void)                //9600bps@11.0592MHz

{

SCON = 0x50;                //8位数据,可变波特率

AUXR |= 0x40;                //定时器1时钟为Fosc,即1T

AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器

TMOD &= 0x0F;                //设定定时器1为16位自动重装方式

TL1 = 0xE0;                //设定定时初值

TH1 = 0xFE;                //设定定时初值

ET1 = 0;                //禁止定时器1中断

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

EA=1;

ES=1;

}

void delayms(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void uart_send(receive)

{

uchar i;

ES=0;

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

{

SBUF=receive[i];

while(!TI);

TI=0;

}

ES=1;

}

void uart_rec() interrupt 4

{

if(RI)

{

receive[n]=SBUF;

n++;

if(n==7)

{

ES=0;

}

RI=0;

}

}

void main()

{

UartInit();

while(1)

{

P0=receive[0];

P1=receive[1];

delayms(4000);

P0=receive[2];

P1=receive[3];

delayms(4000);

P0=receive[4];

P1=receive[5];

delayms(4000);

P0=receive[6];

P1=receive[7];

delayms(4000);

if(n==7)

{

uart_send(receive);

}

n=0;

}

}

我这个程序是当单片机收到8个字节的数据,放到数组中,然后从串口发送出去,有做过这个的朋友吗,哪个地方错了啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值