今天(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串口数据飞码的解决办法(补充)相关推荐

  1. 换晶振导致stm32串口数据飞码的解决办法

    一般来说,stm32f107都是用标配的晶振,比如8MHz. 但是,如果用别的晶振,比如13.56M的晶振,那串口接收还正常吗? 根据试验结果,很可能会飞码.比如说用串口助手发送的是0x35,但是在串 ...

  2. 安全狗php站点404,开启安全狗响应内容保护导致404返回200状态码的解决办法

    开启安全狗响应内容保护导致404返回200状态码的解决办法 2020-04-08 开启安全狗响应内容保护导致404状态码返回200的解决办法 今天无意中对www.tbadc.com的404错识做了一个 ...

  3. 晶振对stm32 串口数据传输的影响

    2019独角兽企业重金招聘Python工程师标准>>> 一般stm32 外部晶振是8M的,但是如果你要改外部晶振的话,需要把配置文件也改下 如图位置,把8000000改为 16000 ...

  4. STM32 F103C8T6 标准库换晶振 硬件8MHZ 换12MHZ实测方法

    手头有一块12MHZ外部硬件开发板,型号是STM32F103c8t6.准备实验一个项目. 可网上大部分源码程序都是8MHZ晶振的源码.由于是初学查了好久很困惑. 虽然使用CUBEMX的HAL库很容易改 ...

  5. 王者荣耀苹果安卓不显示服务器,王者荣耀苹果、安卓用户换机之后数据全无,解决办法来了?...

    原标题:王者荣耀苹果.安卓用户换机之后数据全无,解决办法来了? 手游已经非常普及,但是对于手游玩家而言,部分人使用的苹果手机,另外一部分玩家则是使用的是安卓手机,大家进入的服务器不同,而且不同服务器之 ...

  6. HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较

    转载于:http://www.cnblogs.com/wgp13x/p/4245182.html 摘要:   在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出 ...

  7. freetds php mssql 中文乱码,PHP读取mssql json数据中文乱码的解决办法

    PHP及网页使用UTF-8编码,数据库是sql server2008,使用默认编码(936,即GBK编码) 当读取数据库数据时,使用php自带的json_encode()返回到前端,结果中文不显示. ...

  8. 使用Lock and Load X 插件时导致Final Cat Pro意外退出的解决办法

    Lock and Load X是一款Mac平台上的视频稳定防抖插件,适用于FCPX.PR以及AE软件.lock and load x Mac版比PR和FCPX自带的防抖插件,功能更强大,效果更加突出, ...

  9. 分享导致网站被K的原因及解决办法

    相信很多站长都遇到过这样的情况,某天自己网站关键词排名和收录突然暴跌,其实这时可能就要看看是不是网站被K了,判断方法可以看懒猫之前写的文章:南京seo:怎么看出网站首页是否被搜索引擎降权呢,如果被K了 ...

最新文章

  1. [LeetCode] Isomorphic Strings - 字符串操作:数组计数字符个数问题
  2. date javascript 时区_第23节 Datejs 日期库-Web前端开发之Javascript-零点程序员-王唯
  3. linux 开源邮件 系统,4 个开源的命令行邮件客户端
  4. 域名行业将带来高达98亿美元的巨大商机
  5. java nio 关闭channel_JAVA NIO(二)Channel通道
  6. linux-网络数据包抓取-tcpdump
  7. 华为matepad使用鸿蒙系统,首发鸿蒙系统!华为MatePad采用骁龙+麒麟双芯片版本,哪款更香?...
  8. HDF5快速上手全攻略
  9. [BZOJ2157]旅游(树链剖分/LCT)
  10. 神经网络控制与matlab仿真,matlab神经网络能做什么
  11. MATLAB LSTM多输入单输出 模式分类 示例解析(含代码)
  12. 微信emoji表情web显示
  13. 2021-10-06 BGP错误配置导致脸书网络瘫痪
  14. 如何取消Idea里面的中文语法检查
  15. MM物料账在制品承担差异功能及配置
  16. 字体图标 fa fa html5,前端引入icon的方法(iconfont,fontawesome)
  17. Storm Trident API实践
  18. 你的Java代码对JIT编译友好么?
  19. 跳帧的计算机原理,光电鼠标基础知识浅解(22页)-原创力文档
  20. Makecode编程软件打不开

热门文章

  1. NYOJ 372 巧克力
  2. NYOJ 题目528 找球号(三)
  3. NYOJ 608 畅通工程 并查集
  4. Ubuntu16.04 安装RabbitMQ
  5. Python:自动化上传OSS
  6. 【转】MySQL实现Oracle里的 rank()over(ORDER BY) 功能
  7. luogu P1361 小猫爬山 [iddfs]
  8. Linux学习笔记 -- 文本编辑器之 vi与vim
  9. 挖一挖C#中那些我们不常用的东西之系列(3)——StackTrace,Trim
  10. 小赋诗歌一首,以感学生时代结束