打印
[AVR单片机]

编码器 ssi方式 读取数据的困惑

[复制链接]
4406|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
龙在天涯|  楼主 | 2007-12-16 17:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我连接编码器,使用SSI方式,数据倒是读上来了是格雷码格式,可是数据不正确,转动编码器时显示数据不是连续变化的,乱跳。请搞过编码器的大侠指点一二。
编码器采集部分
void BIANMAQI(void)
{
    uint8_t i;
    i_bianmadata = 0;
    i_bianmaquan = 0;
    cbi(PORTD,SSICLK);
    Delay_us(2);
    for(i=0; i<12; i++)  // 读取前12位
    {
     sbi(PORTD,SSICLK);
    Delay_us(1);
    if(bit_is_set(PIND,SSIDAT))        sbi(i_bianmaquan,0);
    if(i != 11)    i_bianmaquan *= 2;
    cbi(PORTD,SSICLK);
    Delay_us(1);
    }
    
    for(i=0; i<13; i++)  // 读取后13位
    {
    sbi(PORTD,SSICLK);
    Delay_us(1);
    if(bit_is_set(PIND,SSIDAT))        sbi(i_bianmadata,0);
    if(i != 12)    i_bianmadata *= 2;
    cbi(PORTD,SSICLK);
    Delay_us(1);
    }
    sbi(PORTD,SSICLK);
}
解码使用以下方式
    temp = i_bianmadata;
    while(i_bianmadata)
    {
        i_bianmadata /= 2;
        temp ^= i_bianmadata;
    }
    c_SendBuffet[2] = 0;    
    c_SendBuffet[3] = temp / 0x100;    temp &= 0xFF;    
    c_SendBuffet[4] = temp;    
谢谢各位大侠指点.

相关帖子

沙发
violit| | 2010-12-19 11:21 | 只看该作者
有些单片机带有SSI接口~应该会好很多

使用特权

评论回复
板凳
Harvard| | 2013-2-20 12:27 | 只看该作者
ssi接口指的是传感器的ssi.跟单片机自带的spi ssi接口 是2个概念

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

60

帖子

1

粉丝