ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
689414 Топик полностью
0men (26.07.2016 17:00, просмотров: 78) ответил SciFi на STM32 позволяет ловко дёргать битами GPIO вот так: "BSRR = (offmask << 16) | onmask;" Однако эти дебилы в хедере разделили регистр на два: BSRRL и BSRRH. Приходится делать так: "*(int volatile*)&BSRRL = (offmask << 16) | onmask;"
у меня так  typedef struct { __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ __IO uint32_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */ __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */ __IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */ __IO uint32_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */ __IO uint32_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */ __IO uint32_t BSRR; /*!< GPIO port bit set/reset register, Address offset: 0x18 */ __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */ __IO uint32_t AFR[2]; /*!< GPIO alternate function registers, Address offset: 0x20-0x24 */ } GPIO_TypeDef;