换晶振导致stm32串口数据飞码的解决办法(补充)
今天(2014.4.21)把stm32f107的程序下载到stm32f103的板子上,发现串口收不到数据,突然想起晶振频率没有修改,#define HSE_VALUE ((uint32_t)13560000) /*!< Value of the External oscillator in Hz */ 这个要改回去,因为外接晶振是8M
之后试验,发现有数据,但是乱码。百思不得其解,无意中发现,PC的波特率设置为9600,板子的波特率设置为19200就不会乱码。刚好是2倍的关系。顺藤摸瓜问度娘!一个帖子也是这种情况,一个回答是“问题解决了,把target options里#define里的STM32F10X_HD_VL改成STM32F10X_MD就正常了(我用的是中密度器件)”,楼下有人说:
看库里面的stm32f10x.h文件,里面很多内容与系统时钟的配置有关。该文件会根据选择的芯片类型来进行时钟配置,要在此位置将选用的芯片类型去掉注释符。当然不想每次修改此文件,比较方便的方法就是你所说是在编译器的target options选项框中define。。。效果一样。
我翻开那个头文件
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
/* #define STM32F10X_LD */ /*!< STM32F10X_LD: STM32 Low density devices */
/* #define STM32F10X_LD_VL */ /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */
/*#define STM32F10X_MD */ /*!< STM32F10X_MD: STM32 Medium density devices */
/* #define STM32F10X_MD_VL */ /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */
/* #define STM32F10X_HD */ /*!< STM32F10X_HD: STM32 High density devices */
/* #define STM32F10X_HD_VL */ /*!< STM32F10X_HD_VL: STM32 High density value line devices */
/* #define STM32F10X_XL */ /*!< STM32F10X_XL: STM32 XL-density devices */
/* #define STM32F10X_CL */ /*!< STM32F10X_CL: STM32 Connectivity line devices */
#endif
/* Tip: To avoid modifying this file each time you need to switch between these
devices, you can define the device in your toolchain compiler preprocessor.
- Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers
where the Flash memory density ranges between 16 and 32 Kbytes.
- Low-density value line devices are STM32F100xx microcontrollers where the Flash
memory density ranges between 16 and 32 Kbytes.
- Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx microcontrollers
where the Flash memory density ranges between 64 and 128 Kbytes.
- Medium-density value line devices are STM32F100xx microcontrollers where the
Flash memory density ranges between 64 and 128 Kbytes.
- High-density devices are STM32F101xx and STM32F103xx microcontrollers where
the Flash memory density ranges between 256 and 512 Kbytes.
- High-density value line devices are STM32F100xx microcontrollers where the
Flash memory density ranges between 256 and 512 Kbytes. - XL-density devices are STM32F101xx and STM32F103xx microcontrollers where
the Flash memory density ranges between 512 and 1024 Kbytes.
- Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers.
*/
似乎有了思路。查找工程代码,定义了#define STM32F10X_MD_VL,(好像上一位工程师写错了),我修改为#define STM32F10X_MD,问题解决。
换晶振导致stm32串口数据飞码的解决办法(补充)相关推荐
- 换晶振导致stm32串口数据飞码的解决办法
一般来说,stm32f107都是用标配的晶振,比如8MHz. 但是,如果用别的晶振,比如13.56M的晶振,那串口接收还正常吗? 根据试验结果,很可能会飞码.比如说用串口助手发送的是0x35,但是在串 ...
- 安全狗php站点404,开启安全狗响应内容保护导致404返回200状态码的解决办法
开启安全狗响应内容保护导致404返回200状态码的解决办法 2020-04-08 开启安全狗响应内容保护导致404状态码返回200的解决办法 今天无意中对www.tbadc.com的404错识做了一个 ...
- 晶振对stm32 串口数据传输的影响
2019独角兽企业重金招聘Python工程师标准>>> 一般stm32 外部晶振是8M的,但是如果你要改外部晶振的话,需要把配置文件也改下 如图位置,把8000000改为 16000 ...
- STM32 F103C8T6 标准库换晶振 硬件8MHZ 换12MHZ实测方法
手头有一块12MHZ外部硬件开发板,型号是STM32F103c8t6.准备实验一个项目. 可网上大部分源码程序都是8MHZ晶振的源码.由于是初学查了好久很困惑. 虽然使用CUBEMX的HAL库很容易改 ...
- 王者荣耀苹果安卓不显示服务器,王者荣耀苹果、安卓用户换机之后数据全无,解决办法来了?...
原标题:王者荣耀苹果.安卓用户换机之后数据全无,解决办法来了? 手游已经非常普及,但是对于手游玩家而言,部分人使用的苹果手机,另外一部分玩家则是使用的是安卓手机,大家进入的服务器不同,而且不同服务器之 ...
- HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较
转载于:http://www.cnblogs.com/wgp13x/p/4245182.html 摘要: 在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出 ...
- freetds php mssql 中文乱码,PHP读取mssql json数据中文乱码的解决办法
PHP及网页使用UTF-8编码,数据库是sql server2008,使用默认编码(936,即GBK编码) 当读取数据库数据时,使用php自带的json_encode()返回到前端,结果中文不显示. ...
- 使用Lock and Load X 插件时导致Final Cat Pro意外退出的解决办法
Lock and Load X是一款Mac平台上的视频稳定防抖插件,适用于FCPX.PR以及AE软件.lock and load x Mac版比PR和FCPX自带的防抖插件,功能更强大,效果更加突出, ...
- 分享导致网站被K的原因及解决办法
相信很多站长都遇到过这样的情况,某天自己网站关键词排名和收录突然暴跌,其实这时可能就要看看是不是网站被K了,判断方法可以看懒猫之前写的文章:南京seo:怎么看出网站首页是否被搜索引擎降权呢,如果被K了 ...
最新文章
- [LeetCode] Isomorphic Strings - 字符串操作:数组计数字符个数问题
- date javascript 时区_第23节 Datejs 日期库-Web前端开发之Javascript-零点程序员-王唯
- linux 开源邮件 系统,4 个开源的命令行邮件客户端
- 域名行业将带来高达98亿美元的巨大商机
- java nio 关闭channel_JAVA NIO(二)Channel通道
- linux-网络数据包抓取-tcpdump
- 华为matepad使用鸿蒙系统,首发鸿蒙系统!华为MatePad采用骁龙+麒麟双芯片版本,哪款更香?...
- HDF5快速上手全攻略
- [BZOJ2157]旅游(树链剖分/LCT)
- 神经网络控制与matlab仿真,matlab神经网络能做什么
- MATLAB LSTM多输入单输出 模式分类 示例解析(含代码)
- 微信emoji表情web显示
- 2021-10-06 BGP错误配置导致脸书网络瘫痪
- 如何取消Idea里面的中文语法检查
- MM物料账在制品承担差异功能及配置
- 字体图标 fa fa html5,前端引入icon的方法(iconfont,fontawesome)
- Storm Trident API实践
- 你的Java代码对JIT编译友好么?
- 跳帧的计算机原理,光电鼠标基础知识浅解(22页)-原创力文档
- Makecode编程软件打不开