Pagina 1 di 1

Segnalazione bug StmCubeMX

MessaggioInviato: 10 set 2018, 10:09
da dadduni
Salve a tutti,
ho trovato un bug nel software di CubeMX. Quando si inizializza l'ADC usando le librerie LL non funziona a dovere perché passa un valore sbagliato ad una funzione. In particolare lui genera:
Codice: Seleziona tutto
LL_ADC_REG_SetSequencerRanks(ADC1, 1, LL_ADC_CHANNEL_3);

Per impostare come rank 1 il canale 3 dell'adc1. Ma purtroppo la funzione ll_adc_reg_setSequencerRanks accetta un altro paramentro.

Codice: Seleziona tutto
void LL_ADC_REG_SetSequencerRanks(ADC_TypeDef *ADCx, uint32_t Rank, uint32_t Channel)
  * @param  ADCx ADC instance
  * @param  Rank This parameter can be one of the following values:
  *         @arg @ref LL_ADC_REG_RANK_1
  *         @arg @ref LL_ADC_REG_RANK_2
  *         @arg @ref LL_ADC_REG_RANK_3
  *.......


e infatti la define LL_ADC_REG_RANK_1 non è affatto uguale al numero 1.
Codice: Seleziona tutto
#define LL_ADC_REG_RANK_1  (ADC_SQR3_REGOFFSET | ADC_REG_RANK_1_SQRX_BITOFFSET_POS)


Nel momento in cui si imposta il parametro corretto l'ADC inizia a campionare sul canale corretto. Se si lascia il codice così come lo ha fornito il software della ST campiona solo il canale 0.
Volevo segnalare a voi questo bug magari fosse utile a qualcuno. Come faccio a segnalarlo anche alla st?
Davide

Re: Segnalazione bug StmCubeMX

MessaggioInviato: 10 set 2018, 10:14
da gvee
Non ho al momento la possibilità di verificare l'eventuale baco ma per eventuali segnalazioni, se non c'è alcuna mail di contatto nei sorgenti puoi provare a discuterne nella community della ST:

https://community.st.com/s/

O_/

Re: Segnalazione bug StmCubeMX

MessaggioInviato: 10 set 2018, 10:15
da dadduni
perfetto, proverò a postare li. Nel caso anche tu potessi fare una verifica mi farebbe piacere per confermare questa mia "scoperta" :ok: