基于endat2.2协议的海德汉eqi1131编码器通信电路和代码

写给需要的人吧。软件硬件。反馈没问题。

    while(1)
    {    
        /*485发送数据*/
        DIR = 1;
        
        for(i=0;i<10;i++)
        {
        
            CLK = 0;
                
            DATAOUT = order[i];
            
            delay_us(1); 
                
            CLK = 1;

            delay_us(1); 
        
        }
        
        /*发送完毕,开始接收*/
        DIR = 0;
        
        for(j=0;j<40;j++)
        {
            CLK = 0;
            
            buf[j] = DATAIN;

            delay_us(1); 
            
            CLK = 1;
            
            delay_us(1);
            
        }
        
        DIR = 1;
        
        delay_ms(10);                     //延时1us 1M
        
         for(k=6;k<25;k++)
            {
                    
                pos+=buf[k]<<(k-6);//编码器数据是高位在前,需要移下位
            }

            pos1 = (pos * 360.00f / 524288.00f );
            
            
            pos = 0;
            
        for(l=25;l<37;l++)
            {
                    
                cir+=buf[l]<<(l-25);//编码器数据是高位在前,需要移下位
            }
        
        cir1 = cir;
            
        cir  =  0;

    }

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值