STM32使用官方库串口输出乱码

2018-06-10 12:06:21来源: eefocus 关键字:STM32  官方库  串口输出  乱码

最近学习STM32开发,申请了一块免费的开发版,按照书上的内容学习,学到USART,发现串口输出始终乱码,妈蛋的,搞不懂为啥,代码啥的都是按照书上来的啊,最后搜索很久,发现是外部时钟频率配置错误导致的,库使用默认8MHz晶震,可以通过宏使用25MHz晶震。具体定义在stm32f10x.h文件中

#if !defined  HSE_VALUE

 #ifdef STM32F10X_CL   

  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */

 #else 

  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */

 #endif /* STM32F10X_CL */

#endif /* HSE_VALUE */


这里提供了实用8MHz或者25MHz晶震,但是我2个都尝试了,还是乱码,最后一想,是不是我的开发版晶震不是这个值哦,最后拿着开发版一看,妈蛋的,果然不是,而是使用的12MHz晶震,立马自己定义一个宏修改成12000000,编译,烧写,一下就对了。坑啊! 
怎么看自己的开发版晶震是多少,看图 

然后修改上面的代码,加一个宏定义就可以了,如下所示:

#define HSE_VALUE   ((uint32_t)12000000)    // 定义自己开发版上的外部时钟源频率

#if !defined  HSE_VALUE

 #ifdef STM32F10X_CL   

  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */

 #else 

  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */

 #endif /* STM32F10X_CL */

#endif /* HSE_VALUE */


这样即可正常工作罗!!!!

关键字:STM32  官方库  串口输出  乱码

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/article_2018061039723.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32之串口通信之printf重定向
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

网友正在学习IC视频

推荐阅读
全部
STM32
官方库
串口输出
乱码

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源

何立民专栏

单片机及嵌入式宝典

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

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