背景带有HAL库的STM32F4-Discovery(STM32F429ZIT6)上的RS232(UART)?
这里是我的一些背景,这样你的家伙可以知道我有或没有相关知识。我完全是这种嵌入式系统的新手。我对电子产品并不了解,我是一个纯粹的软件家伙。
我唯一的嵌入式系统的经验是树莓派,这是从STM32F4探索完全不同。
我可以实现通过使用树莓派,连接到一台PC用USB转RS232适配器的电压转换器IC标准的Linux C库是一个UART读/写程序。
我的设备和开发环境
- 的STM32F429I-DISCO板与STM32F429ZIT6 MCU
- 一个USB转RS232电缆和一个电压转换器IC,其作品相当不错的树莓派。
- 的Keil uVision 5 IDE。
我想达成什么
我想实现在STM32F429发现板,可以发送/从PC接收消息/编程。 (例如,发送一个字符串PC。当收到来自PC的字符串,点亮了船上的LED)
我已经做对现在
现在我已经设置我的Keil uVision IDE ,并且可以编译/运行闪烁的LED示例,我也可以编辑该示例以按照我希望的方式控制LED。 (例如,当用户按钮被按下时打开LED,并且当按钮被释放时将其关闭)
因此LED部分已经完成了,缺少一部分它如何使用RS232电缆与STM32F4探索板进行通信。
我的问题
首先,我想知道如果我理解的PIN定义该电路板的正确。根据这一datasheet,我应该在DB9上DB9连接TX引脚PD2(UART5_RX),在DB9到PC12(UART5_TX),在DB9至3.3V的VCC引脚RX引脚和GND到GND。这个连接是否正确?
是否有关于如何在新的HAL库,来自Keil公司uVision的最新版本,使用UART示例代码?我在网上搜索,但大部分示例代码或tutorial使用的是被称为
RCC_AHB1PeriphClockCmd
功能这似乎不是在新的HAL库,来自Keil公司uVision存在。
更新
我的USB转串口适配器
067b:2303 Prolific Technology, Inc. PL2303 Serial Port
与电平转换器IC连接。看起来是这样的:当连接到树莓派,我是继此instruction,所以对IC的VCC/GND连接到3.3V/GND上树莓派,我如果这是需要不知道或不。由于“HAL”库,我的意思是这个
stm32f4xx_hal_usart.c
文件,根据许可证声明中的评论,它似乎来自意法半导体公司。尽管这个文件中有一些指令,但我仍然很难找出如何使用这个驱动程序。例如,我无法区分Enable USARTx interface clock
和Enable the clock for USART GPIOs
之间的区别,我不知道如何实现这些功能。所以如果有一个示例代码,这将是一个很大的帮助,因为我可以将它与这些说明进行比较。
你可以采取裸机路线,通常就像试图让一些库工作一样快捷简单https://github.com/dwelch67/stm32_samples我没有这个确切的板子,但是stm32外围设备比不同越过芯片。 –
为什么涉及5V?根本不需要,也不需要树莓派。你有什么样的USB电缆你有RS232电压水平会破坏这些芯片,你永远不能使用RS232。或者你是否错误地使用了RS232术语来暗示串行协议而不是电压标准。我使用基于usb ftdi的突破和电缆,提供3.3v uart接口,只需要真正连接rx和tx,真的希望使用同一台计算机来避免浮动接地,而且您不需要连接接地。如果有什么rx,tx和地面,如果你觉得需要。 –
如果你想使用他们的库,然后联系st技术支持和/或通过代码来查找并找出它。 –