Fix the order of ADC injected channel list
According to RM0090, page 301, paragraph 11.13.12 Note. (For F4, for F1 and F3 is it in the corresponding manuals) The JSQR are filled always ending at SQR4 ie for those lists we must set this list: (A) -> JSQ4 = A, (A,B) -> JSQ3 = A, JSQ4 = B, (A,B,C) -> JSQ2 = A, JSQ3 = B, JSQ4 = C, (A,B,C,D) -> JSQ1 = A, JSQ2 = B, JSQ3 = C, JSQ4 = D, The readed values are in correct order, starting from JDR1: (A) -> JDR1 = A, (A,B) -> JDR1 = A, JDR2 = B, (A,B,C) -> JDR1 = A, JDR2 = B, JDR3 = C, (A,B,C,D) -> JDR1 = A, JDR2 = B, JDR3 = C, JDR4 = D,
This commit is contained in:
@@ -615,13 +615,16 @@ injected channels.
|
||||
#define ADC_JSQR_JL_3CHANNELS (0x2 << ADC_JSQR_JL_LSB)
|
||||
#define ADC_JSQR_JL_4CHANNELS (0x3 << ADC_JSQR_JL_LSB)
|
||||
/**@}*/
|
||||
#define ADC_JSQR_JL_SHIFT 13
|
||||
#define ADC_JSQR_JL_SHIFT 20
|
||||
#define ADC_JSQR_JL_MSK (0x2 << ADC_JSQR_JL_LSB)
|
||||
#define ADC_JSQR_JSQ4_MSK (0x1f << ADC_JSQR_JSQ4_LSB)
|
||||
#define ADC_JSQR_JSQ3_MSK (0x1f << ADC_JSQR_JSQ3_LSB)
|
||||
#define ADC_JSQR_JSQ2_MSK (0x1f << ADC_JSQR_JSQ2_LSB)
|
||||
#define ADC_JSQR_JSQ1_MSK (0x1f << ADC_JSQR_JSQ1_LSB)
|
||||
|
||||
#define ADC_JSQR_JSQ_VAL(n,val) ((val) << (((n) - 1) * 5))
|
||||
#define ADC_JSQR_JL_VAL(val) (((val) - 1) << ADC_JSQR_JL_SHIFT)
|
||||
|
||||
/* --- ADC_JDRx, ADC_DR values --------------------------------------------- */
|
||||
|
||||
#define ADC_JDATA_LSB 0
|
||||
|
||||
Reference in New Issue
Block a user