大家帮忙看看这段关于偶校验的代码有什么问题,谢谢!

clj13970250610   2008-3-25 13:17 楼主
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define ERR 0;
#define RIGHT 1;
uchar idata sbuf;



void send(unsigned idata receive);



main(){

IE=0;      //关闭所有中断
SCON=0xC0; //SM0 SM1 SM2 REN TB8 RB8 TI RI 工作于模式3
PCON=0x00; //SET SMOD=0
TMOD=0x20; //GATE C1/T1 M1 M0 GATE C2/T2 M1 M0 T1 工作于模式2
TH1=0xE8;
TL1=0xE8;  //BaudRate=1200
IP=0X08;   //T1 is high priority //x x PT2 PS PT1 PX1 PT0
IE=0X98;   //EA ES ET1 EX1 ET0 EX0
TR1=1;     //T1开始计时
RI=0;
TI=0;
REN=1;     //允许接受串行数据

while(1){
  if(RI==1)
  {
   RI=0;
   ACC=SBUF;
   if (RB8==P)
   {sbuf=ACC;}
   else
   {sbuf=0xFF;}
   
   send(sbuf);
  }  
}
}



void send(unsigned idata receive){
TI=0;
ACC=receive;
TB8=P;
SBUF=ACC;
while(!TI);
TI=0;
}

回复评论 (4)

为什么有些数值发送和接收都没错的,校验又有错的呢。
点赞  2008-3-25 13:18
我在keil里调试的时候,无论发什么数值,RB8的值总为0的。有人帮我解决一下吗?
点赞  2008-3-26 08:26
我在keil里调试的时候,无论收什么数值,RB8的值总为0的。有人帮我解决一下吗?
点赞  2008-3-26 08:29
这一版块,太没人气了,是不是大家都成大侠了

如果成大侠了,也常回家看看嘛,家里太冷清了

据说努力顶帖也是一种美德,但我只想大家常回家看看

毕竟每天都有新手需要帮忙,而我能帮的只能是把帖子顶起来
点赞  2008-4-4 01:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复