АМИС30543 | Понимание таблицы данных Регистр состояния
Я читал лист данных драйвера шагового двигателя AMIS-30543 и не мог понять, как объединить результат регистра состояния положения микрошага MSP[8:0]. Я знаю, что это 9-битное значение. Помогите мне понять, как получить значение.
В техпаспорте это дано как
в SR3 -> MSP[8:2], а в SR4 -> МСП[6:0]. Как я могу получить 9 бит из них.
В библиотеке я видел, что (sr3<<2) | (ср4 и 3)
. Я не понимаю, почему они делают и &
здесь.
Объясните, пожалуйста. также Если не было библиотеки, как я могу узнать, как объединить эти регистры из таблицы данных.
Ссылка на таблицу данных
@Lawliet, 👍1
1 ответ
Лучший ответ:
Большая часть данных дублируется между регистрами. Оба регистра содержат MSP[6:2].
Если MSP содержит 111001001
, регистры (игнорируя бит MSB «PAR») будут выглядеть следующим образом:
SR3: 1110010
SR4: 1001001
Если мы выстроим их в ряд, получится следующее:
SR3: 1110010
SR4 1001001
Теперь вы можете увидеть перекрытие.
Итак, взяв SR3 и сдвинув его влево на две позиции (sr3 << 2
), вы получите:
SR3: 1110010
<<2: 111001000
Использование двух младших битов SR4 с помощью & 3
дает вам:
SR4: 1001001
& 3: 0000001
Затем объедините два результата с помощью операции ИЛИ:
SR3<<2: 111001000
SR4 &3: 000000001
-----------------
MSP : 111001001
- AMIS30543 | Таблица КРУГОВОГО ПЕРЕВОДЧИКА данных
- Arduino uno + cnc Shield v3 + драйвер шагового двигателя A4988 + AccelStepper?
- TCCR1B' не был объявлен в этой области
- Как управлять двумя шаговыми двигателями и использовать ультразвуковой датчик вместе?
- Невозможно считывать данные с 16 последовательными тактами
- Arduino Uno + шаговый драйвер MSD-11-EM + NEMA 17
- Шаговый двигатель с микрошаговым драйвером
- AMIS30543 - Код библиотеки | Порядок pinDirection и pinOut
Как я могу это понять из даташита вроде от sr3 и sr4, @Lawliet
8:2 и 6:0 относятся к диапазону битов, хранящихся в этом регистре. Немного необычно иметь такое перекрытие., @Majenko
Так можно ли делать как :: '(sr3 << 2 | sr4)', @Lawliet
Нет, из-за бита PAR в старшем бите, который испортит SR3., @Majenko
Уфф, ладно. Теперь я понимаю ., @Lawliet
Опять же, еще одно сомнение, что это наложение битов вы узнали на практике и опыте или где-то прочитали?, @Lawliet
Практика и опыт. Я впервые вижу такие перекрывающиеся биты, но фрагмент кода, который вы показали, и 8: 2 и 6: 0 в таблице данных позволили мне сделать вывод об этом. Это действительно не совсем ясно в таблице данных, поэтому неудивительно, что вы боролись с этим., @Majenko