您当前的位置:五五电子网电子知识单片机-工控设备AVR单片机AVR多机通讯 正文
AVR多机通讯

AVR多机通讯

点击数:7150 次   录入时间:03-04 12:03:42   整理:http://www.55dianzi.com   AVR单片机
      } 

//----------------------------------------------------------- 
//从数组datas[]的首地址开始发送amount个数据,其中第0个数据是地址帧,其他是数据帧 
void usart_out(unsigned char *datas,unsigned char n) 
      { 
        unsigned char i=0;   
        PORTD.4=1;                       //使MAX485处于发送状态 
        while(i<n)                  //一共发送amount个数据 
             {   
               if(i==0) UCSRB|=1; else UCSRB&=254;    
               UDR=*(datas+i);          //装载数据开始发送 
               while((UCSRA&64)==0);    //等待发送结束 
               UCSRA|=64;               //清除发送结束标志 
               i++;                      //发送次数统计 
             } 
        PORTD.4=0;                       //使MAX485处于接收状态 
      }    

--------------------------------------------------------------------------------- 
crc8校验程序 
--------------------------------------------------------------------------------- 
unsigned char crc8(unsigned char *ptr, unsigned char len)   

   unsigned char i; 
   unsigned char crc=0; 
   while(len--!=0)   
    { 
      for(i=1; i!=0; i*=2) 
       { 
         if((crc&1)!=0) {crc/=2; crc^=0x8C;} 
         else crc/=2; 
         if((*ptr&i)!=0) crc^=0x8C;      
        }   
      ptr++; 
     } 
return(crc); 


上一页  [1] [2] [3] 


本文关键字:暂无联系方式AVR单片机单片机-工控设备 - AVR单片机

《AVR多机通讯》相关文章>>>