STM32F103RB - 如何知道使用哪个引脚发送触发信号

Posted

技术标签:

【中文标题】STM32F103RB - 如何知道使用哪个引脚发送触发信号【英文标题】:STM32F103RB - How to know what pin to use to send a trigger signal 【发布时间】:2021-03-11 03:51:02 【问题描述】:

首先原谅我,因为我是嵌入式系统的初学者。

我正在使用 Nucleo STM32F103RB。我正在尝试通过设置我的 STM 的 GPIO 引脚将触发信号从我的 STM 发送到 FPGA 卡,但我不确定要连接哪个引脚。

这是我用来驱动 GPIO 的代码:

HAL_GPIO_WritePin(Trigger_GPIO_Port, Trigger_Pin, GPIO_PIN_SET);
//do something
HAL_GPIO_WritePin(Trigger_GPIO_Port, Trigger_Pin, GPIO_PIN_RESET);

Trigger_GPIO_PortTrigger_Pin 定义如下:

#define Trigger_Pin GPIO_PIN_2
#define Trigger_GPIO_Port GPIOB

通过使用STMCube32软件,我得到了以下图片:

因此,我根据 STM32Cube 给我的图片将自己的电路板的 PC9 引脚连接为触发器。

我这样做有错吗?这似乎不起作用... 我怎样才能简单地从我的板上发送触发器?

感谢您的帮助!

【问题讨论】:

我个人会避免使用 CubeMX。我可以看到对于初学者来说,它似乎比裸机或旧的标准外设库更有吸引力,但如果你想要那种易于使用,我建议使用 Mbed (os.mbed.com)。 your board 完全支持它,并且是 ARM 微控制器而不是 STM32 特定的,因此您可以选择更广泛的平台和板卡。 【参考方案1】:

您的 CubeMX 引脚排列建议使用 PC9,但您的代码:

#define Trigger_Pin GPIO_PIN_2
#define Trigger_GPIO_Port GPIOB

明确将PB2定义为GPIO Port B pin 2

您似乎在某个阶段修改了 CubeMX 配置,但未能重新生成代码。你应该有:

#define Trigger_Pin GPIO_PIN_9
#define Trigger_GPIO_Port GPIOC

或者简单地连接 PB2 - 虽然如果你想保持你的代码和 CubeMX 同步,我建议你重新生成代码,特别是如果你做了其他也需要包含的更改。

在 Nucleo 连接器引脚排列中,蓝色标签对应于微控制器引脚。洋红色标签是对应的 Arduino Shield 引脚名称。

【讨论】:

以上是关于STM32F103RB - 如何知道使用哪个引脚发送触发信号的主要内容,如果未能解决你的问题,请参考以下文章

stm32f103zet6引脚说明

USART3 初始化 STM32F103RB

(stm32f103学习总结)—初识stm32

Arduino框架下STM32F103C系列单片机引脚映射关系

stm32f103c8t6引脚功能图以及在arduino IDE编程环境下引脚调用

单片机芯片stm32f103c8t6每个引脚有啥功能?就是我要写个东西,写出它每个引脚的作用,求大侠指点,谢谢?