用430置AS5048零点的问题

2020-03-08 19:20发布

本帖最后由 kolokolo 于 2020-1-6 09:13 编辑

用msp430f149读角度编码器AS5048,io模拟SPI。现在能读取数据,但是设置零点的时候始终不行。是操作顺序错了吗?

  if(mstate == SETZERO)//设置当前角度为0°
     {  
       mstate = 0;
       zerodata = readreg(CMD_ANGLE);//读取当前角度值

       hdata = zerodata & 0x3fc0;//高8位   
       hdata >>= 6;
       ldata = zerodata & 0x003f;//低6位

       unsigned int eventemp = parity_even(hdata);//偶校验操作
       hdata |= eventemp;

       eventemp = parity_even(ldata);
       ldata |= eventemp;

       writereg(CMD_ProgramControl,0x0001);//编程位enable
       delay(10);

       whres1 = writereg(CMD_OTPHigh,hdata);//写入高位
       delay(10);

       whres2 = writereg(CMD_OTPLow,hdata);//写入低位
       delay(100);
    }




0条回答

一周热门 更多>