ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
735265 Топик полностью
Dingo (10.02.2017 10:45, просмотров: 186) ответил vllv на В STM32F0 так гуманно с AF не получается, компилятор аж заходится в предупреждениях по поводу диапазона сдвигов.
Посмотрел. Там некоторые поля с "структуре" GPIO имеют ширину 16 бит, а не 32. Вот там и поправить. STM32F0xx: typedef struct { __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ __IO uint16_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */ uint16_t RESERVED0; /*!< Reserved, 0x06 */ __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 uint16_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */ uint16_t RESERVED1; /*!< Reserved, 0x12 */ __IO uint16_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */ uint16_t RESERVED2; /*!< Reserved, 0x16 */ __IO uint32_t BSRR; /*!< GPIO port bit set/reset registerBSRR, Address offset: 0x18 */ __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */ __IO uint32_t AFR[2]; /*!< GPIO alternate function low register, Address offset: 0x20-0x24 */ __IO uint16_t BRR; /*!< GPIO bit reset register, Address offset: 0x28 */ uint16_t RESERVED3; /*!< Reserved, 0x2A */ }GPIO_TypeDef; А для STM32F4xx: 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 uint16_t BSRRL; /*!< GPIO port bit set/reset low register, Address offset: 0x18 */ __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high register, Address offset: 0x1A */ __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; Правильно он ругается.