使用CubeMX和uVision 5为STM32F446RE编程CAN总线

时间:2018-10-27 23:39:56

标签: can-bus hal stm32f4 cubemx

我正在尝试使用CubeMX代码生成器对STM32F446进行编程 以及Windows 10上的uVision 5 IDE,以便使用CAN总线。

我已经为STM32-F446RE Nucleo开发板配置了CubeMX项目。 我将PA12配置为CAN1TX,将PA11配置为CAN1RX。 其余的引脚在STM32-F446RE Nucleo板上默认使用。 我已经为uVision 5 IDE生成了代码。

要开始使用,我尝试遵循stm32f4xx_hal_can.c注释中的说明以及HAL文档DocID025834 Rev 5的第120页上的说明,以遵循有关如何使用HAL和驱动程序的说明。 该页面提供以下说明:

  1. 对于CAN1使用__HAL_RCC_CAN1_CLK_ENABLE(),对于CAN2使用__HAL_RCC_CAN2_CLK_ENABLE()以及对于CAN3使用__HAL_RCC_CAN3_CLK_ENABLE()启用CAN控制器接口时钟。如果仅使用CAN2,则必须启用CAN1时钟。
  2. CAN引脚配置 **使用以下功能为CAN GPIO启用时钟: __GPIOx_CLK_ENABLE()** .... 步骤2的第一个子步骤就是问题。我找不到功能 __GPIOx_CLK_ENABLE()。我在其他论坛上注意到,该函数可能有一个替代名称__HAL_RCC_GPIOx_CLK_ENABLE();。但是它也不能被IDE识别。我是否缺少包含文件?是否应该将“ x”替换为某些数字,例如我要使用的引脚的引脚号? 如果是这样,引脚应采用什么格式表示?

令我进一步困惑的是,我看了各种youtube视频,但似乎没有一个提到HAL手册中提到的步骤。

我在IDE上安装了以下工具,其中包括: 通用: 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。

我一直在寻找信息,但是没有成功, 非常感谢您的帮助。

0 个答案:

没有答案