STM32晶振导致的串口乱码问题解决
时间:2022-07-23
本文章向大家介绍STM32晶振导致的串口乱码问题解决,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在学习串口程序的时候,发现波特率是正确的,但是串口调试助手中查看串口打印的时候,发现是乱码。 下面是解决方法
1.现象
QQ截图20170419080953.png
QQ截图20170419080727.png
2.解决方法
由于很多串口例程都是设定单片机晶振是8MHz,而我用的单片机是12MHz。所以要对stm32f10x.h进行一些修改。
1)修改stm32f10x.h为可读写
此文件原来是只读的,若要修改,需要把只读的勾取消掉
876862b36b574a257b3fe607ab436111.png
2)在stm32f10x.h文件中加入一个宏定义
可以在stm32f10x.h文件中通过ctrl+f搜索HSE_VALUE,找到这段话,然后将下面的宏定义加入。
- 8MHz改成12MHz
#define HSE_VALUE ((uint32_t)12000000)
- 12MHz改成8MHz
#define HSE_VALUE ((uint32_t)8000000)
acba17c0968d8a69df41067a18f06eee.png
3.改后结果
QQ截图20170419082701.png
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- RTOS内功修炼记(六)—— 任务间通信为什么不用全局变量?
- 程序员必备基础:加签验签
- 【Rust日报】2020-07-16 j4rs,一个在 Rust 中调用 Java 代码的 Crate
- Vue.js 3 正式进入 RC 阶段
- FeignClient注解及参数问题---SpringCloud微服务
- Rust FFI 编程 - Rust导出共享库01
- 【每周一库】 see - An HTTP server for hosting static files
- 【Rust日报】2020-07-17 无船同志新博客:Shipping Const Generics in 2020
- SpringCloud--Config Server配置中心学习总结
- 【Rust日报】2020-07-18 提升ARM64 Linux平台支持到Tier-1
- SpringCloud+MyBatis(oracle)逆向工程自动生成代码
- JDK1.8的几个简单Lambda表达式
- 腾讯云直播开发日记 (一) 直播播放和观看
- Docker六脉神剑(二) 使用Docker构建lnmp开发环境
- redis主从配置+集群搭建