字符收发不正常?[求助]
收到的字符是这样的,
当我发送abcdefghijklm
第一遍发送,没有收到字符
第二次遍发送,收到bcdefghijklma
第三遍发送,收到abcdefghijklm
这是怎么回事,不知道怎么办?
希望有人能我解答一下,
程序需要在哪里改动?
谢谢!
程序如下,
main(){
while(1);
}
void serial(void) interrupt 4 using 1
{
if(RI)
{
// RI = 0;
// 串口接收, 采用临时缓冲
getstring(str1,10);
sendstring(str1,10);
}
#if 0
if(TI)
{
// TI = 0;
// 串口发送, 没有必要使用中断方式
}
#endif
}
//向串口发送一个字符串,strlen为该字符串长度
void sendstring(unsigned char *str,unsigned int strlen)
{
unsigned int k=0;
do{
putchar(*(str+k));
k++;
}
while(k <strlen);
}
//unsigned char*
void getstring(unsigned char* str,unsigned int strlen)
{
unsigned int k=0;
do{
str[k]=getchar();
k++;
}
while(k <strlen);
}
发表时间:2006年12月17日14:11:52