导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→麻烦大家给看看这个程序?[ybs777]

 *第9831篇: 麻烦大家给看看这个程序?

  
楼 主:ybs777 2003年4月4日15:41
 麻烦大家给看看这个程序?
我用的是keil。模拟的芯片有两个串口所以是sbuf0,为什么在if语句中非要将sbuf0与字符型的1和0来比较,当我换成0x00与0x01时,程序就不能执行了?
这是为什么呢?
在这里先谢谢各位了。
void main()
{ byte ssend[7]={"hello!\n"};
  byte esend[10]={"no hello!\n"};
  while(1){
 uarcon();
 tr1=1;
 while (ri_0==0);ri_0=0;
 if(sbuf0=='0'){ 
 uarsend(&ssend,7,0);}//uarsend函数(指针,几个数据,送是0或读是1)
 else if(sbuf0=='1')
 {  uarsend(&esend,10,0);}
  }
}  
/*++++++++++++++++++uarcon+++++++++++++++++++++
  *          配置串口1,没有启动定时器?19200    *       
 ++++++++++++++++++++++++++++++++++++++++++++++*/
                      void uarcon(void)
                      {ea=0;tmod=0x20;tl1=0xfd;th1=0xfd;
                      scon0=0x50;pcon=0x80;}
 /*+++++++++++++++++++uarsend++++++++++++++++++++++++ 
   +            串口发送与接受;由sr控制。           +
+++++++++++++++++++++++++++++++++++++++++++++++++++*/
                      void uarsend(byte *sendadd,byte num,byte sr)                     
                      { byte index;
                        uarcon();tr1=1; 
                        if (sr==0){  
                         for (index=0;index  <num;index++)
                        {sbuf0=*sendadd++;
                        while(ti_0==0);
                        ti_0=0;}
                        }
                        else if(sr==1){for (index=0;index  <num;index++){
                         while(ri_0==0);
                        *sendadd++=sbuf0;
         ri_0=0;}}
                        }  
      



>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:[讨论]  我写了个程序通过8255A的PCO向蜂鸣器送某一固定频率的方波,然后

[下一篇主题]:[求助]关于直流电压的测量,大家帮忙