User Tag List

Показано с 1 по 10 из 280

Тема: Микроконтроллеры STM32, "с нуля".

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    29.03.2005
    Адрес
    Ярославль
    Сообщений
    1,102
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сейчас изображу ...
    Например для USART .
    Идем на раздел 4 Pin descriptions даташита .
    Смотрим таблицу 9 Table 9. Alternate function input/output
    Ищем необходимую нам АФ . Смотрим на каких пинах висит и значение АФ .
    В нашем случае это пины PA9 и P10 и значение АФ для обоих AFIO7 .



    Идем в референсе мануал.
    6.4.9 GPIO alternate function low register (GPIOx_AFRL) (x = A..H)
    и
    6.4.10 GPIO alternate function high register (GPIOx_AFRH) (x = A..H)

    Два 32х битных регистра . По 4бита на каждый пин .
    Определены в хэдере как массив .
    Код:
     __IO uint16_t BSRRH;        /*!< GPIO port bit set/reset high registerBSRR,   Address offset: 0x1A      */
      __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;
    В итоге нам нужно в регистр GPIOA_AFRH, в позиции AFRH10 и AFRH9 занести значения AFIO7 (0x07).

    и получаем :

    Код:
    GPIOA->AFR[1] |= (7<<(4*2)) |(7<<(4*1));


    ---------- Post added at 15:26 ---------- Previous post was at 14:44 ----------

    Для SPI1 :
    пины PA5-PA7 , AFIO5 .
    или
    пины PB3-PB5 , AFIO5
    NSS не трогаю ибо толку от него 0 ...

    ---------- Post added at 15:30 ---------- Previous post was at 15:26 ----------

    В конструкции
    Код:
    GPIOA->AFR[1] |= (7<<(4*2)) |(7<<(4*1));
    семерки - значение АФ .
    двойка и единица - порядковые номера пинов , если разделить 16битный порт на два 8ми битных...
    Последний раз редактировалось dosikus; 04.05.2014 в 15:50.
    ZXM-Phoenix 1024+PROF ROM+SMUC+VGA
    Profi 1024+CF+CPM+VGA
    ATARI 800XL+SIO2PC+SIO2SD
    RK86@Maximite

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. Ответов: 19
    Последнее: 30.09.2011, 03:08
  3. Ответов: 0
    Последнее: 15.08.2010, 14:38
  4. Ответов: 18
    Последнее: 27.08.2008, 20:27
  5. Ответов: 6
    Последнее: 20.11.2007, 11:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •