Warm tip: This article is reproduced from serverfault.com, please click

c-STM32F103RB

(c - STM32F103RB)

发布于 2020-11-28 18:15:45

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

我正在使用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引脚作为触发器。

我这样做不对吗?这似乎不起作用...如何简单地从板上发送触发器?

感谢你的帮助!

Questioner
Mamask Gold
Viewed
0
Clifford 2020-11-29 03:37:33

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

#define Trigger_Pin GPIO_PIN_2
#define Trigger_GPIO_Port GPIOB

明确将PB2定义为GPIO P ort B引脚2

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

#define Trigger_Pin GPIO_PIN_9
#define Trigger_GPIO_Port GPIOC

或简单地连接PB2-尽管如果你想使代码和CubeMX保持同步,我建议你重新生成代码,尤其是当你进行了其他更改时,还必须包括在内。

在Nucleo连接器的引脚输出中,蓝色的标签与微控制器的引脚相对应。洋红色标签是相应的Arduino Shield引脚名称。