你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32H503评测】利用UART_Printf打印

[复制链接]
Evan96 提问时间:2023-9-20 23:04 / 未解决

下面先来个示例:

在STM32H503微控制器中,可以使用UART(通用异步收发器)模块进行串口通信。UART_Printf函数是一个常用的函数,用于通过UART模块将格式化的字符串打印到串口终端。 要使用UART_Printf函数,首先需要配置UART模块。以下是一个简单的示例,演示如何在STM32H503上使用UART_Printf打印字符串:

include "stm32h5xx_hal.h"

include "stm32h5xx_hal_uart.h"

UART_HandleTypeDef huart2; void SystemClock_Config(void); void Error_Handler(void); int main(void) { HAL_Init(); SystemClock_Config(); // 初始化UART2 huart2.Instance = USART2; huart2.Init.BaudRate = 115200; huart2.Init.WordLength = UART_WORDLENGTH_8B; huart2.Init.StopBits = UART_STOPBITS_1; huart2.Init.Parity = UART_PARITY_NONE; huart2.Init.Mode = UART_MODE_TX_RX; huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart2.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart2) != HAL_OK) { Error_Handler(); } // 打印字符串 UART_Printf("Hello, World!\n"); while (1) { // 其他程序代码... } } void SystemClock_Config(void) { // 系统时钟配置... } void Error_Handler(void) { // 错误处理代码... } 在上面的示例中,首先进行了系统时钟的配置(SystemClock_Config函数),然后初始化了UART2模块(HAL_UART_Init函数)。在初始化完成后,可以使用UART_Printf函数将格式化的字符串打印到串口终端。在示例中,打印了"Hello, World!"字符串。 请注意,上述示例代码是基于STM32H503的HAL库(硬件抽象层)编写的。如果您使用的是其他版本的库或手动配置UART模块,代码可能会有所不同。但是,无论使用哪种方法,都可以使用类似的方法来实现UART_Printf函数的功能。

下面进行测评:

原理图要知道东西在哪个位置。

image.png

输出结果:

image.png

部分代码:

`printf("y");

huart3.Instance = USART3; huart3.Init.BaudRate = 115200; huart3.Init.WordLength = UART_WORDLENGTH_8B; huart3.Init.StopBits = UART_STOPBITS_1; huart3.Init.Parity = UART_PARITY_ODD; huart3.Init.Mode = UART_MODE_TX_RX; huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart3.Init.OverSampling = UART_OVERSAMPLING_16; huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; huart3.Init.ClockPrescaler = UART_PRESCALER_DIV1; huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; if (HAL_UART_Init(&huart3) != HAL_OK) { Error_Handler(); } if (HAL_UARTEx_SetTxFifoThreshold(&huart3, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK) { Error_Handler(); } if (HAL_UARTEx_SetRxFifoThreshold(&huart3, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK) { Error_Handler(); } if (HAL_UARTEx_DisableFifoMode(&huart3) != HAL_OK) { Error_Handler(); }

`

收藏 评论1 发布时间:2023-9-20 23:04

举报

1个回答
dhvf1 回答时间:2023-9-21 13:20:59
看着有点乱,坛子里编辑器不是有插入代码么
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版