打印
[应用相关]

stm32L072芯片LPUART1接收发送失败问题

[复制链接]
726|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2021-1-6 17:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用stm32扩展库开发L072系列时发现,初始化LPUART1后,所得到得波特率与电脑实际接受不符,且只有波特率在9600以上,串口才不会进入溢出中断。但接受数据仍然不对,初始化如下:
void Usart_Config(void)
{   

GPIO_InitTypeDef  GPIO_InitStructure;
   
    HAL_NVIC_DisableIRQ(RNG_LPUART1_IRQn);
    HAL_NVIC_SetPriority(RNG_LPUART1_IRQn, 1, 0);
    HAL_NVIC_EnableIRQ(RNG_LPUART1_IRQn);
   
    GPIO_InitStructure.Pin = GPIO_PIN_10 | GPIO_PIN_11;//RS485-LPUART1
    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStructure.Alternate = GPIO_AF4_LPUART1;
    GPIO_InitStructure.Pull = GPIO_PULLUP;
    GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
   
   
    Usart1_Init(115200);
}

void Usart1_Init(uint32_t BaudRate)
{
    UART_HandleTypeDef USART_InitStructure;
   
    __HAL_RCC_LPUART1_RELEASE_RESET();
    __HAL_RCC_LPUART1_CLK_ENABLE();
     
    LPUART1->CR1 &=0;
    LPUART1->CR1 |= 3<<2;
    LPUART1->BRR = BaudRate;
   
    LPUART1->CR1 |= USART_CR1_UE;//使能串口
        
    LPUART1->CR1 &= ~(uint32_t)BIT7;//禁止发送中断
    LPUART1->CR1 |= BIT5;//使能接受中断

    LPUART1->ICR &= ~(uint32_t)UART_CLEAR_OREF;
}

测试发现,发送一个字节数据时,电脑接受到三个字节数据,求大神指点!

使用特权

评论回复
沙发
wakayi| | 2021-2-2 23:28 | 只看该作者
按理说越快越容易溢出啊

使用特权

评论回复
板凳
wowu| | 2021-2-2 23:34 | 只看该作者
这个波特率是自己实测得到的吗

使用特权

评论回复
地板
xiaoqizi| | 2021-2-2 23:37 | 只看该作者
难道是重复发送了吗

使用特权

评论回复
5
木木guainv| | 2021-2-2 23:41 | 只看该作者
按理说不应该出现这种现象的

使用特权

评论回复
6
磨砂| | 2021-2-2 23:44 | 只看该作者
电脑会不会出现卡顿了

使用特权

评论回复
7
onlycook| | 2021-2-9 10:06 | 只看该作者

确定一下串口的数据位、停止位等配置是否和电脑一直。

使用特权

评论回复
8
内政奇才| | 2021-2-9 10:07 | 只看该作者

硬件有没有连接错误,

使用特权

评论回复
9
麻花油条| | 2021-2-9 10:08 | 只看该作者

发送一个字节数据时,电脑接受到三个字节数据
一般是波特率不对应的问题

使用特权

评论回复
10
豌豆爹| | 2021-2-9 10:08 | 只看该作者

很有可能是你PC上的波特率设置错了,检查一下你串口助手的波特率。

使用特权

评论回复
11
七毛钱| | 2021-2-9 10:09 | 只看该作者

看一下实际发送的信号比较直接。用示波器量串口,直接看到波特率,位数等配置是否正确,直接反映出配置的方式,这样找问题就更快更准些

使用特权

评论回复
12
海滨消消| | 2021-2-9 10:09 | 只看该作者
LPUART1->BRR = BaudRate;
BRR不是这么用的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1445

主题

4031

帖子

6

粉丝