Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/15/05 22:01
Read: times


 
#101149 - must be like this?
Responding to: ???'s previous message
the master only sends and the slave only recives that's because i've used the same buffer for both.

enviar_comando is the function that must start the transmition.

void puerto_serial_event() interrupt 4{
    if(TI==1){          //if transmition occurs
        TI=0;           //clears TI
        if (trama[ind_trama]!=0)
        SBUF = trama[ind_trama];
        index++;                
    }

    if (RI==1){       //if reception occurs
        RI=0;           //clears RI
        if(RB8){
            SM2=0;      //data mode 2
        }
        else{
            if(ind_trama>4){
                ind_trama=0;
            }
            trama[ind_trama]=SBUF;
            ind_trama++;
            SM2=1;      //data mode 1
        }
    }
}


void enviar_comando(unsigned char direccion, unsigned char comando, unsigned char parametros[3]){
    unsigned char i;
    ind_trama=0;
    TI=1;
    SBUF=direccion;
    while(TI==1);
    SBUF=comando;
    while(TI==1);
    for(i=0;i<3;i++){
        trama[2+i]=parametros[i];
        while(TI==1);
    }
}


thanks


List of 20 messages in thread
TopicAuthorDate
Serial communication between 2 at89c52            01/01/70 00:00      
   I had a quick look and since I am not            01/01/70 00:00      
   pic?            01/01/70 00:00      
      again            01/01/70 00:00      
         re your ISR            01/01/70 00:00      
            i've modified the ISR            01/01/70 00:00      
               get it going with a PC at one end that g            01/01/70 00:00      
                  i'll try 2 do that            01/01/70 00:00      
               transmit            01/01/70 00:00      
                  sorry            01/01/70 00:00      
                     No, do it in the interrupt            01/01/70 00:00      
                        must be like this?            01/01/70 00:00      
                           should be            01/01/70 00:00      
                              thanks            01/01/70 00:00      
                     NO            01/01/70 00:00      
   problems again, pls help me            01/01/70 00:00      
      still don't get it            01/01/70 00:00      
   with only two processors why are you con            01/01/70 00:00      
      i've said            01/01/70 00:00      
         then this is a bad title.            01/01/70 00:00      

Back to Subject List