历史上的今天
今天是:2024年08月28日(星期三)
2018年08月28日 | stm32f107串口乱码
2018-08-28 来源:eefocus
最近在写串口程序的时候遇到了串口乱码的问题,后来上网查了之后才发现是晶振不匹配的原因。
我使用的板子的晶振是16MHz,而系统默认是配置为8MHz,修改步骤:
1:首先确认程序工程目录的文件属性为非只读的,如果是只读的那么改为非只读的,这是为了能够修改工程的系统文件;
2:在1的基础上修改stm32f10x.h头文件约120行处修改HSE_VALUE的配置值:
#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 */
根据自己使用的晶振情况进行宏定义,添加以下内容:
//Added by Mabel.
#define HSE_VALUE ((uint32_t)16000000)
//end
#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 */
3:可是我的修改了以上之后还不行,是因为我没有进行系统时钟初始化,在main函数中调用systick_init();即可。当然需要加上相应的头文件:#include "systick.h"
以下是修改参考连接:
https://blog.csdn.net/markinstephen/article/details/53505493
https://www.cnblogs.com/htsky/p/5923422.html
史海拾趣
|
一切完好,在.NET下面也可以用System.Data.SqlServerce下面的提供的函数成功的对数据库进行操作.包括RDA和合并复制等. 但是我在想如果不用.Net而用MFC使用系统API如果实现对Sql server ce数据操作包括RDA和合并复制之类的.有不有达人相告.感激不尽.… 查看全部问答> |
|
windows mobile下 如何实现窗口的透明效果?指的是局部透明,及窗体完全透明,其上面的控件不透明,SetLayeredWindow不支持 查了好多资料,发现貌似与AlphaBlend有关,请高手指点!最好有例子,谢谢… 查看全部问答> |
|
LPC11c14如何用中断标示符INTID读取报文编号,收到CAN后不是先会产生状态中断么,那不是永远都不到报文中断编号了么?… 查看全部问答> |
|
昨天元宵节,单位提前两个小时放假,回家的时候路过学校,顺便去看了一下上学时教单片机的老师。老师给我看了一下我们当初建的电子实验室现在的成果,给大家分享一下!智能蔽障机器人小车 51板扩展制作的智能小车,可以实现单片机控制小车前后左右 ...… 查看全部问答> |




