Программирование шины CAN для STM32F446RE с CubeMX и uVision 5 - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь запрограммировать STM32F446 с помощью генератора кода CubeMX и IDE uVision 5 в Windows 10 для использования шины CAN.

Я настроил свой проект CubeMX для STM32-F446REНуклео доска.У меня PA12 настроен как CAN1TX, а PA11 настроен как CAN1RX.Остальные контакты по умолчанию для платы STM32-F446RE Nucleo.Я сгенерировал код для IDE uVision 5.

Для начала я пытаюсь следовать инструкциям по использованию HAL и драйвера, следуя инструкциям в комментариях к stm32f4xx_hal_can.c кака также инструкции на стр. 120 документации HAL DocID025834, ред. 5. На этой странице приведены следующие инструкции:

  1. Включить тактирование интерфейса контроллера CAN с помощью __HAL_RCC_CAN1_CLK_ENABLE () для CAN1, __HAL_RCC_CAN2_CLK_ENABLE () для CAN2 и__HAL_RCC_CAN3_CLK_ENABLE () для CAN3 Если вы используете только CAN2, вам необходимо включить тактирование CAN1.
  2. Конфигурация контактов CAN  ** Включить тактирование для CAN GPIO с помощью следующей функции: __GPIOx_CLK_ENABLE () **.... Первый шаг шага 2 - это проблема.Я не могу найти функцию __GPIOx_CLK_ENABLE ().Я заметил на каком-то другом форуме, что может быть альтернативное имя для функции, __HAL_RCC_GPIOx_CLK_ENABLE ();но это также не распознается IDE.Я пропускаю включаемый файл?Предполагается, что «x» должен быть заменен каким-либо номером, таким как номер пина, который я хочу использовать?Если да, то в каком формате должен быть указан пин?

К моему дальнейшему замешательству, я просмотрел различные видеоролики на YouTube, и ни один из них, кажется, не упоминает вышеупомянутые шаги, описанные в руководстве HAL.

Я установил в своей IDEсреди прочего: Generic: ARM :: CMISS-Driver версии 2.3.0 и 2.2.0, ARM :: CMISS версии 5.4.0 и версии 5.3.0.Специфичная для устройства информация: Keil :: STM32F4xx_DFP версия 2.13.0.Keil :: STM32NuceloBSP версия 1.6.0.

Я искал информацию, но безуспешно, и был бы очень признателен за вашу помощь.

...