STM32F0 periph. library

Jan Waclawek konfera na efton.sk
Úterý Červenec 15 16:52:48 CEST 2014


>Ale zase tak moc dobrý nápad to není, kdy¾ pou¾iji typ enum, zkrácený
>jen na potøebný poèet bitù, default je interpretován jako byte, co¾
>nefunguje (pøekladaè pou¾ije ldrb, strb a to se asi pro ètení/zápis
>registru nehodí, blí¾ jsem to nezkoumal),

V RMxxxx na zaciatku kazdej podkapitoly popisujucej registre danej
periferie (co je vzdy posledna podkapitola kapitoly pre danu periferiu) je
jasne napisane, ako sa da k registrom pristupovat. Niekde je to dokonca
priamo pri popise jednotlivych registrov. Niekedy to tam nie je, co je
znamka ze dana kapitola je odflaknuta este viac nez ten zvysok... :-|

Dost casto nie je mozne pristupovat bytovo, ale nie je to 100% pravidlo.
Tie definicie v stm32XXxx.h nie su urobene nahodne.

(Aj) kvoli tomuto sa drzim stm32XXxx.h, aj ked spociatku som mal tiez
nutkanie si urobit bitove polia. Mozno to nie je najkrajsie, ale ja to
teraz robim takto:

#define OR |
#define FPLED_USART USART2


    FPLED_USART->CR2 = 0
      OR ( 0                       * USART_CR2_ADD_0    )  /* Address of
the USART node */
      OR ( 0                       * USART_CR2_LBDL     )  /* LIN Break
Detection Length */
      OR ( 0                       * USART_CR2_LBDIE    )  /* LIN Break
Detection Interrupt Enable */
      OR ( 1                       * USART_CR2_LBCL     )  /* Last Bit
Clock pulse */
      OR ( 0                       * USART_CR2_CPHA     )  /* Clock Phase */
      OR ( 0                       * USART_CR2_CPOL     )  /* Clock
Polarity */
      OR ( 1                       * USART_CR2_CLKEN    )  /* Clock Enable
*/
      OR ( USART_CR2_STOP__1_BIT   * USART_CR2_STOP_0   )  /* Bit 0 */
      OR ( 0                       * USART_CR2_LINEN    )  /* LIN mode
enable */
    ;

Akurat mi vadi, ze v stm32XXxx.h nie su definovane hodnoty bitove polia, A
ZAS A ZNOVA VYUZIVAM TUTO PRILEZITOST ABY SOM POPROSIL PRITOMNYCH Z ST ABY
SA ZASADILI ZA TO ABY TO TAM BOLO DOROBENE. Dakujem.

wek




Další informace o konferenci Hw-list