stm32.h 613 B

123456789101112131415161718192021
  1. #ifndef _STM32_H_
  2. #define _STM32_H_
  3. /* modify bitfield */
  4. #define _BMD(reg, msk, val) (reg) = (((reg) & ~(msk)) | (val))
  5. /* set bitfield */
  6. #define _BST(reg, bits) (reg) = ((reg) | (bits))
  7. /* clear bitfield */
  8. #define _BCL(reg, bits) (reg) = ((reg) & ~(bits))
  9. /* wait until bitfield set */
  10. #define _WBS(reg, bits) while(((reg) & (bits)) == 0)
  11. /* wait until bitfield clear */
  12. #define _WBC(reg, bits) while(((reg) & (bits)) != 0)
  13. /* wait for bitfield value */
  14. #define _WVL(reg, msk, val) while(((reg) & (msk)) != (val))
  15. /* bit value */
  16. #define _BV(bit) (0x01 << (bit))
  17. #include "stm32wbxx.h"
  18. #endif // _STM32_H_