STM32F103RB — как узнать, какой вывод использовать для отправки триггерного сигнала

Прежде всего, простите меня, поскольку я новичок во встроенных системах.

Я использую Nucleo STM32F103RB. Я пытаюсь отправить триггерный сигнал с моего STM на карту FPGA, установив вывод GPIO моего STM, но я не уверен, какой вывод подключить.

Это код, который я использую для управления своим 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 я получил следующую картину:

введите здесь описание изображения

Итак, я подключил контакт PC9 моей платы в качестве триггера, основываясь на картинке, которую мне дал STM32Cube.

Я ошибаюсь, делая это? Кажется, это не работает... Как я могу просто отправить триггер с моей доски?

Спасибо за помощь!


person Mamask Gold    schedule 28.11.2020    source источник
comment
Лично я бы избегал CubeMX. Я вижу, насколько новичку это кажется привлекательным по сравнению с «голым железом» или более старой стандартной периферийной библиотекой, но если вам нужна такая легкость, я бы предложил использовать Mbed (os.mbed.com). Он полностью поддерживается на вашей плате и является микроконтроллером ARM, а не STM32. специфичны, поэтому у вас есть более широкий выбор платформ и плат.   -  person Clifford    schedule 28.11.2020


Ответы (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.

person Clifford    schedule 28.11.2020
comment
Спасибо за ваше понимание! - person Mamask Gold; 29.11.2020