kissmey 发表于 2021-2-23 09:18:43

AS5048设置零点的问题

本帖最后由 kissmey 于 2021-2-23 09:20 编辑

用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);
    }

ams社区管理员 发表于 2021-4-19 14:27:28

可以到艾迈斯公众号上提问哦~
页: [1]
查看完整版本: AS5048设置零点的问题