STM32 串口配置的波特率 与 实际波特率不同解决方案

发布者:电子设计探索者最新更新时间:2019-08-10 来源: eefocus关键字:STM32  串口配置  波特率 手机看文章 扫描二维码
随时随地手机看文章

现象

初始化配置stm32串口1的波特率为115200,设置串口调试助手的波特率也为115200。


接收数据时,发现数据为乱码。当将串口调试助手的波特率改为76800时,能够正确接收到数据。


问题:stm32实际波特率与设置波特率不同


原因和解决方法

这种情况,排除硬件的问题的话,一般是时钟配置问题。我们从串口的时钟源入手。


最后定位到 stm32f10x.h  头文件中,其中HSE(外部高速晶振)的值需要根据外部实际晶振的标称值进行更改。

图1 stm32f10x.h中HSE值


由于之前的开发板上,使用的为12M晶振,而本次使用的为8M晶振,所以出现这种问题。将HSE_VALUE更改为8000000后,解决问题。

关键字:STM32  串口配置  波特率 引用地址:STM32 串口配置的波特率 与 实际波特率不同解决方案

上一篇:STM32三线控制八个发光二极管(74HC595)
下一篇:STM32 USB HID设置(STM32CubeMX)

推荐阅读最新更新时间:2024-11-01 23:15

STM32 输入捕获的脉冲宽度及频率计算
输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能。以下是对脉冲宽度及频率的计算。 1、脉冲宽度 如下图所示,采集该高电平脉冲的宽度,只需要进入输入捕获上升沿检测,记录当前的发生上升沿时的CNT值,再进行输入捕获下降沿检测,也记录当前发生下降沿时的CNT值,两次CNT值的差值再根据计数的频率就可以算出脉冲的宽度。 上升沿及下降沿捕获的程序具体实现如下: TIM8_Cap_Init(0XFFFF,72-1); //以1Mhz的频率计数 void TIM8_UP_IRQHandler(void) { if((TIM8CH4_CAPTURE_
[单片机]
<font color='red'>STM32</font> 输入捕获的脉冲宽度及频率计算
STM32中GPIO的这八种配置种类你知道几种?
在Cortex-M3里,对于GPIO的配置种类有8种: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出 1、推挽输出 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效
[单片机]
<font color='red'>STM32</font>中GPIO的这八种<font color='red'>配置</font>种类你知道几种?
STM32标准库编译成lib库文件
目录: 1、建立创建lib的工程 2、将库文件拷贝到工程目录 3、选择芯片:STM32F407VG 4、选择NO。因为这不是可运行的程序,这里不需要加入启动文件 5、创建完工程后,工程结构如图 6、MDK中点击工具栏上的 设置工程结构,并将库文件加入工程 7、完成后MDK下的目录结构 8、MDK下设置输出选项 9、设置C语言预编译宏和引用目录 10、设置完成后 11、将stm32f4xx_conf.h文件拷贝到工程 12、到此,工程设置完成。按F7编译,经过一支烟的时间即可生成库的lib 13、工程输出目录 14、将库文件加入该工程 15、新建工程,我命名成stm32f4use,处理器依旧选择STM32F407VG 16、这是选
[单片机]
<font color='red'>STM32</font>标准库编译成lib库文件
IAR stm32 warning:Label 'xxxxx' is defined pubweak in&
问题: 在用IAR 建立工程的时候 REBUILD ALL 一下 会出现: lable xxxx is defined pubweak in a section implicitly declared root的警告 解决方法: 解决方法在所用的启动文件中,比如startup_stm32f10x_hs.s(具体看你用的是哪一个启动文件),在出现RECORDER的地方在后面添加:NOROOT重新编译后警告就没有了。 官方链接: https://www.iar.com/support/tech-notes/assembler/warning25-label-xxxxx-is-defined-pubweak-in-a-se
[单片机]
IAR <font color='red'>stm32</font> warning:Label 'xxxxx' is defined pubweak in&
STM32 AT24C128简单读写程序
目前个人测试过AT24C02-AT24C128,感觉还可以。里面没有页写函数,有兴趣的伙伴可以补充一下,该程序仅供参考 单片机源程序如下: #include led.h #include delay.h #include sys.h #include usart.h #include key.h #include 24cxx.h #include myiic.h //要写入到24c128的字符串数组 const u8 TEXT_Buffer ={ STM32 AT24c128 }; #define SIZE sizeof(TEXT_Buffer) #define ADDRESS 163 //读
[单片机]
USB之STM32基础(6)
本篇笔记主要介绍 STM32 相关的知识点,毕竟之后的 CDC 教程是用 STM32 开发的。 为了写这一篇,鱼鹰把 STM32 中文参考手册 USB 相关的从头到尾看了一遍,虽然以前就已经看过了,但这次看,收获又是不同。 不过限于篇幅,鱼鹰不会面面俱到,只介绍和 CDC 相关的一些东西。 要完成 USB 模拟串口(CDC)的实验,STM32 手册是必须细细阅读的,不然代码里面很多操作你是无法看懂的。 其实理解了前面的一些东西,你会发现 STM32 中的 USB 知识和前面的大同小异,毕竟开发芯片的厂家也是按照 USB 标准来实现的,不会差到哪里去。 硬件基础 首先,STM32F103 使用 PA11(USBDM,D-)和 P
[单片机]
Keil(MDK-ARM-STM32)系列教程(六)Configuration(Ⅱ)
Ⅰ、写在前面 本文接着上一篇文章“Configuration(Ⅰ)”进行讲述Configuration后面三项Shortcut Keys快捷键、Text Completion代码完形、Other其他的内容。 Shortcut Keys快捷键:Keil软件里面所有快捷键都可以在Configuration配置中查看的到,也可以自定义快捷键。 Text Completion代码完形:包含代码自动完成、代码模板、语法错误检测等。 Other其他:这个选项不常用,包含UVSOCK (TCP/IP)设置、打开软件设置等。 阅读本文之前建议先阅读上一篇文章: Keil(MDK-ARM-STM32)系列教程(五)_Configu
[单片机]
Keil(MDK-ARM-STM32)系列教程(六)Configuration(Ⅱ)
STM32 波形
只有给外设开启了时钟, 才能操作和控制外设。 // 产生三角波 在上述代码基础上加入下面代码,其中部分代码替代 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructInit(&TIM_TimeBaseStructure); TIM_TimeBaseStructure.TIM_Period = 0xF; TIM_TimeBaseStructure.TIM_Prescaler = 0xF; TIM_TimeBaseSt
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved