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_Port
和 Trigger_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 - 如何知道使用哪个引脚发送触发信号的主要内容,如果未能解决你的问题,请参考以下文章
Arduino框架下STM32F103C系列单片机引脚映射关系