Фон
Вот некоторые из моих биографий, чтобы ваш парень мог знать, какие знания у меня есть, а какие нет. Я совершенно новичок в подобной встраиваемой системе. И я действительно ничего не знаю об электронике, я чисто программист.
Мой единственный опыт работы со встроенной системой - это Raspberry Pi, который сильно отличается от STM32F4 Discovery.
Я мог бы реализовать программирование чтения / записи UART, используя стандартную библиотеку Linux C на Raspberry Pi, которая подключена к ПК с помощью адаптера USB-RS232 с преобразователем напряжения IC.
Мое устройство и среда разработки
- Плата STM32F429I-DISCO с MCU STM32F429ZIT6
- Кабель USB-RS232 и микросхема преобразователя напряжения, которая неплохо работает на Raspberry Pi.
- Keil uVision 5 IDE.
Чего я хотел бы достичь
Я хотел бы реализовать программу на плате обнаружения STM32F429, которая могла бы отправлять / получать сообщения на / с ПК. (Например, отправьте строку на ПК. И когда получите строку от ПК, загорится светодиод на плате)
Что я сделал прямо сейчас
Теперь я настроил свою Keil uVision IDE и мог скомпилировать / запустить пример мигающего светодиода, я также мог бы отредактировать этот пример, чтобы управлять светодиодом так, как я хочу. (Например, включить светодиод при нажатии кнопки пользователя и выключить его при отпускании кнопки)
Итак, светодиодная часть в значительной степени готова, недостающая часть - это то, как взаимодействовать с платой обнаружения STM32F4 с помощью кабеля RS232.
Мой вопрос
Во-первых, я хотел бы знать, правильно ли я понимаю определение PIN-кода этой платы. Согласно этому таблице данных, я должен соединить вывод TX на DB9 с PD2 (UART5_RX), вывод RX на DB9 с PC12 (UART5_TX), вывод VCC на DB9 на 3,3 В и GND на DB9 на GND. Это соединение правильное?
Есть ли какой-нибудь пример кода того, как использовать UART в новой библиотеке HAL из последней версии Keil uVision? Я искал в Интернете, но большинство примеров кода или tutorial используется функция с именем
RCC_AHB1PeriphClockCmd
, которая, похоже, не существует в новой библиотеке HAL от Keil uVision.
Обновить
У меня адаптер USB-Serial
067b:2303 Prolific Technology, Inc. PL2303 Serial Port
и к нему прилагается микросхема переключения уровня. Выглядит так:При подключении к Raspberry Pi я следил за этим инструкция, поэтому VCC / GND на IC подключен к 3.3V / GND на Raspberry Pi, я не уверен, нужно это или нет.
Под библиотекой "HAL" я подразумеваю этот
stm32f4xx_hal_usart.c
файл, согласно заявлению о лицензии в комментариях, похоже, он принадлежит STMicroelectronics. Хотя в этом файле есть некоторые инструкции, мне все еще довольно сложно понять, как использовать этот драйвер. Например, я не могу отличитьEnable USARTx interface clock
отEnable the clock for USART GPIOs
, и я не знаю, как мне достичь этой функции. Так что, если есть пример кода, это будет большим подспорьем, поскольку я мог бы сравнить его с этими инструкциями.