STM32F103 的晶振由8M改为了12M,串口该怎么配置

 我来答
博飞港澳台联考
高粉答主

2015-01-07 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.9万
采纳率:93%
帮助的人:9961万
展开全部
UART 通信的波特率是跟时钟频率有关的。所以随便换个晶振,必然影响 UART 的工作。翻开库函数 USART_Init,通过 RCC_GetClocksFreq 函数获取系统频率的。而此函数又是由 HSE_VALUE 影响频率值的。这就是晶振频率。这个宏在 stm32f10x.h 里做了定义,你可以直接到这个头文件里改掉它。由于使用了 #if !defined HSE_VALUE#define HSE_VALUE xxxx的方式,由于Keil MDK 编译器的预定义符号里被不能给 HSE_VALUE 定义 12000000 这样的常数,你也可以自己建立一个头文件来定义 HSE_VALUE 12000000, #include 先于 stm32f10x.h (说起来有点复杂,但可以不去改 stm32f10x.h)。
查晓筠0i5
2015-01-07 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4948万
展开全部
看手册的计算方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式