Мы уже рассмотрели, как настроить и работать с SPI в STM32 HAL c программной точки зрения. Теперь посмотрим как происходит настройка SPI HAL в CubeMX, программе предназначенной для удобной настройки периферии микроконтроллеров от STM32.
Настройку SPI рассмотрим на примере SPI3 у микроконтроллера STM32F446RETx. На самом деле не важно какой у вас микроконтроллер от STM32, параметры настройки SPI одинаковы за небольшими исключениями.
Конфигурация SPI находится на вкладке Connectivity.
Первым делом необходимо активировать блок SPI. Для этого в поле Mode выберите нужный режим работы SPI:
У нас это будет Full-Duplex Master, т.е. SPI будет работать в полнодуплексном режиме, как ведущее устройство.
После активации SPI модуля, станут доступны дополнительные настройки:
Из важного, это такие настройки как:
- Data Size — размер отправляемых данных. 8 или 16 бит;
- First Bit — настройка следования данных. Первым отправляется старший бит или младший (MSB, LSB);
- Prescaler — делитель частоты. С его помощью мы настраиваем скорость передачи данных. Согласно даташиту подключаемого устройства.
- Настройка CPOL и CPHA. Так же описана в даташите на подключаемое устройство.
Что бы задействовать прерывания от SPI, на вкладке NVIC Settings включаем его. А так же, если необходимо, активируем Callback функцию.
Вот и вся настройка SPI HAL в CubeMx.