关于c8051f040串口调试的问题

一日三餐最重要 2007-05-21 07:50:03
以下为串口调试代码,可为什么每次用串口精灵返回的数据好像是数组的个数啊,如果我的数组有6个数,返回的就是123456,如果是7个数返回的就是1234567,百思不得其解,各位高人指点下,不胜感激啊


#include "c8051f040.h"
typedef unsigned char uchar;
typedef unsigned int uint;
//sfr16 RCAP2=0xca;
//sfr16 RCAP3=0xca;
//sfr16 RCAP4=0xca;
//sfr16 TMR4=0xcc;
//sfr16 TMR3=0xcc;
//sfr16 TMR2=0xcc;
sfr16 PCA0CP0=0xfb;
sfr16 PCA0CP1=0xfd;
sfr16 PCA0CP2=0xe9;
sfr16 PCA0CP3=0xeb;
sfr16 PCA0CP4=0xed;
sfr16 PCA0CP5=0xe1;
xdata uchar aa[7]={0x31,0x32,0x33,0x34,0x35,0x36,0x37};
xdata uchar res[6];
xdata uchar k;
xdata uchar t;
enum {aalen=7};
void delay1ms(uint time);
void uart0_ini();
void t1_ini();
void t1_baud(uchar t1h);
void t2_ini();
void t2_baud(uint t2reload);
void config (void);
void uart0_ini(){
SFRPAGE=0x00;
SADEN0=0x00;
SADDR0=0x00;
SSTA0=0x01;
SCON0=0x50;
SCON0&=0xFC;
IE|=0x10;
t1_ini();
t2_ini();
}

void t1_ini(){
SFRPAGE=0x00;
CKCON=0x10;
TMOD=0x20;
TCON=0x40;
}


void t1_baud(uchar val){
SFRPAGE=0x00;
TH1=~val+1;
TL1=TH1;
}


void t2_ini(){
SFRPAGE=0x00;
TMR2CF=0x08;
TMR2CN=0x04;
}


void t2_baud(uint t2reload){
SFRPAGE=0x00;
RCAP2=~t2reload+1;
TMR2=RCAP2;
}

void config (void){
WDTCN=0x07;
WDTCN=0xDE;
WDTCN=0xAD;
SFRPAGE=0x0F;
XBR0=0x04;
XBR1=0x00;
XBR2=0x40;
XBR3=0x00;
SFRPAGE=0x0F;
P0MDOUT=0x00;
P1MDIN=0xFF;
SFRPAGE=0X0F;
CLKSEL=0x00;
OSCXCN=0x00;
OSCICN=0x84;
}

void main(){
config();
uart0_ini();
t1_baud(10); //设置波特率
t2_baud(10); //设置波特率
EA=1;
k=0;
t=0;
SFRPAGE=0x00;
SBUF0=aa[k];

// while (1)
// {
// TI0=1;
// SFRPAGE=0x00;
// if(SCON0&0X01){
// res[t]=SBUF0;
// t++;
// SCON0&=0xfe;
// }
// if(SCON0&0x02){
// k++;
// SBUF0=0x00;
// SCON0&=0xfd;
// }
// }
while(1){
if(k>=aalen){
SFRPAGE=0x00;
TR2=0;
}
if(t>=aalen){
SFRPAGE=0x00;
TR1=0;
}
}
}

void uart0_ISR() interrupt 4{ //每次好像执行到这里就返回一个数值,123456...顺序返回,而不是返回的数组值
SFRPAGE=0x00;
if(SCON0&0x01){
res[t]=SBUF0;
t++;
SCON0&=0xfe;
}
if(SCON0&0x02){
k++;
SBUF0=aa[k];
//k++;
SCON0&=0xfd;
}
}


请各位达人指点。。。。。。。。。。
谢谢
...全文
329 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
高人指点啊
谢谢
在下刚接触单片机有点生

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧