I was reading the data Sheet of AMIS-30543 stepper motor driver and I was not able to understand how to combine the result of the Micro step position status register MSP[8:0]. I know that its a 9 bit value . Help me understand how to get the value.
In the data sheet it is given like
in SR3 -> MSP[8:2], and in SR4 -> MSP[6:0]. How I am I suppose to get the 9 bit out of these.
In the library I have seen that , (sr3<<2) | (sr4 & 3)
. I don't understand why they are doing and &
here.
Please explain . also If there was no library how am I suppose to know how to combine these registers from the dataSheet .
Link to DataSheet
1 Answer 1
Most of the data is duplicated between the registers. Both registers contain MSP[6:2].
If MSP contains 111001001
the registers (ignoring the MSB "PAR" bit) would look like:
SR3: 1110010
SR4: 1001001
If we line those up it's then like:
SR3: 1110010
SR4 1001001
You can now see the overlap.
So taking SR3 and shifting it left two places (sr3 << 2
) gives you:
SR3: 1110010
<<2: 111001000
Taking the lowest two bits of SR4 with & 3
gives you:
SR4: 1001001
& 3: 0000001
Then ORing the two results together:
SR3<<2: 111001000
SR4 &3: 000000001
-----------------
MSP : 111001001
-
How can I understand this from data sheet like from sr3 and sr4Lawliet– Lawliet10/15/2020 21:10:20Commented Oct 15, 2020 at 21:10
-
The 8:2 and 6:0 refer to the range of bits stored in that register. It's a little unusual to have overlap like that.Majenko– Majenko10/15/2020 21:17:54Commented Oct 15, 2020 at 21:17
-
So is it okay to do like :: ‘(sr3 << 2 | sr4)’Lawliet– Lawliet10/15/2020 21:19:31Commented Oct 15, 2020 at 21:19
-
No, because of the PAR bit that's in the MSB that will corrupt SR3.Majenko– Majenko10/15/2020 21:20:02Commented Oct 15, 2020 at 21:20
-
1Practice and experience. It's the first time I have seen overlapping bits like that, but the code snippet you showed and the 8:2 and 6:0 in the datasheet allowed me to infer it. It's really not clear at all in the datasheet, so it's not surprising you were struggling with it.Majenko– Majenko10/15/2020 21:23:49Commented Oct 15, 2020 at 21:23
Explore related questions
See similar questions with these tags.