stm32 串口RX上拉还是浮空

根据个人实际开发经验,串口RX引脚能上拉就上上拉,如果配置成浮空时会存在一定收到杂乱数据情况。
这个问题困扰了一下午就是找不出为何我是串口1发数据,串口2却能收到类似的数据,他们之间明明没有任何关系。找了一下午最终发现因为杜邦线浮空加上RX为浮空输入导致的问题,改成上拉成功解决问题。
所以啊还是得自己做PCB,避免使用杜邦线。

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32是意法半导体公司推出的一系列32位ARM Cortex-M微控制器产品线。这些微控制器具有丰富的外设和强大的计算能力,被广泛应用于各种嵌入式系统中。 在STM32中,串口通信是一种常见的通信方式,可以实现与其他设备或模块的数据传输。下面是一些关于STM32串口通信的基本信息: 1. STM32串口外设:STM32微控制器通常具有多个串口外设,比如USART(通用同步/异步收发器)、UART(通用异步收发器)和SPI(串行外设接口)等。这些外设可以通过引脚连接到外部设备或计算机,并通过串口协议进行数据传输。 2. 串口通信配置:在STM32中,需要配置串口的波特率、数据位、停止位、校验位等参数,以确保与其他设备或模块之间的通信兼容性。 3. 串口通信代码示例:下面是一个使用STM32的HAL库进行串口通信的简单示例(以USART为例): ```c #include "stm32f4xx_hal.h" UART_HandleTypeDef huart2; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_USART2_UART_Init(void); int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART2_UART_Init(); char* message = "Hello, World!\r\n"; while (1) { HAL_UART_Transmit(&huart2, (uint8_t*)message, strlen(message), HAL_MAX_DELAY); HAL_Delay(1000); } } void SystemClock_Config(void) { // 系统时钟配置 } static void MX_USART2_UART_Init(void) { huart2.Instance = USART2; huart2.Init.BaudRate = 9600; 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(); } } ``` 在上述示例中,通过USART2串口发送"Hello, World!"消息,并设置波特率为9600。 以上是关于STM32串口通信的基本介绍和一个简单的代码示例。如果你有更具体的问题或需求,请提供更多详细信息,以便我能够更好地帮助你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值