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

如题所述

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)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-07
看手册的计算方法

STM32F103 的晶振由8M改为了12M,串口该怎么配置
这就是晶振频率。这个宏在 stm32f10x.h 里做了定义,你可以直接到这个头文件里改掉它。由于使用了 #if !defined HSE_VALUE#define HSE_VALUE xxxx的方式,由于Keil MDK 编译器的预定义符号里被不能给 HSE_VALUE 定义 12000000 这样的常数,你也可以自己建立一个头文件来定义 HSE_VALUE 12000000, ...

systick程序中怎么ba8m改为72m
可以通过宏SystemCoreClock进行访问。上面宏CLOCK_SECOND设置为1000。也就是说,通过配置,系统每1ms进行中断函数一次,精度为1ms。STM32F103内部是8M的震荡,通过倍频后可以达到72M。其中STM32F10X_MD_VL之类的宏需要用户自己定义,而这里设置了SYSCLK_FREQ_72MHz为72000000。也就是说固件库在默认硬件已经...

stm32的工作频率和晶振有什么关系
STM32F103系列芯片,最高工作频率可以到72M 使用8M的外部晶振,一般还需要使用内部的PLL锁相环进行倍频 相比于内部的8M的RC震荡 外部晶振频率稳定性更好 如果有用到测频或者定时功能 建议使用外部晶振。对于ADC模块 由于IO口被配置成浮空输入 且IO口的耐压值一般有5V兼容 所以只要输入电压不小于-0.7V,...

stm32的工作频率和晶振有什么关系?8M的晶振,工作频率是多少?还有自带的...
STM32F103系列芯片,最高工作频率可以到72M,使用8M的外部晶振,一般还需要使用内部的PLL锁相环进行倍频,相比于内部的8M的RC震荡。STM32工作频率是由晶振倍频来的,以STM32F103VBT6为例,晶振是8M,设置PLL倍频为9的话,工作频率为72M,一般ADC电压不超过VCC;如果超过ADC,一方面数据可能出错,另一方面电...

stm32的工作频率和晶振有什么关系?8M的晶振,工作频率是多少?还有自带的...
STM32 工作频率是由晶振倍频来的,以STM32F103VBT6为例,晶振是8M,设置PLL倍频为9的话,工作频率为72M.一般ADC电压不超过VCC.如果超过ADC,一方面数据可能出错,另一方面电压超过IO口承受范围造成单片损坏.ADC一般都通过电阻分压后进行转换,很少有人把直接信号直接引入ADC转换,特别是功率信号 ...

STM32板的晶振不起振,怎么办?
2. STM32f103有内部复位电路,只有当检测到外部电压大于电压阀值时才会启动。因为需要检测外部电压,所以模拟Ref\/VDDA\/VSSA不能开路,做实验是可以将Ref\/VDDA与3.3V链接,VSSA与GND链接。3. 串口连接时,要记得正确配置好Boot0和Boot1引脚的电平。4. Jlink链接时,要注意是JTAG模式还是SWD模式。(一般5...

8M晶振是多大?
8MHz=8*10^3KHz=8*10^6Hz,即8百万Hz。晶振:即所谓石英晶体谐振器和石英晶体振荡器的统称。是指从一块石英晶体上按一定方位角切下薄片(简称为晶片),石英晶体谐振器,简称为石英晶体或晶体、晶振;而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器。其产品一般用金属外壳封装,也有用玻璃...

stm32cubemx生成代码不自动打开keil5
首先,打开cubemx 我们点击选择MCU型号,创建工程 选择相应的芯片类型,双击进入工程 进入工程界面,首先配置时钟 ,配置时钟为外部高速时钟,选择晶振,此时可以看到右侧芯片的OSC引脚变成绿色(1.绿色代表已配置 2.黄色代表不可配置,例如电源VBAT...在STM32CubeMX生成的MDK5工程上添加RT-Thread Nano后双击工程名无法打开....

两个单片机串口通讯故障问题?
比如12M晶振,如果波特率为9600,就会又一些误差。一个用12V电池经过7805稳压管供电,电源没有问题,不至于会影响到通信。两个不同的板子不同的电源,那么两个板子的地(GND)是必须接到一起的,即要共地的。你的两个板子的串口是TXD,RXD直接连接的,即是TTL连接还是用RS232或RS485连接只有在RS485模式...

proteus8中怎么加一个连接stm32虚拟终端
选择创建固件项目,系列选择Cortex-M3,Controller选择STM32F103R6。2、其次,点击P打开添加元件界面;在搜素框输入LED-RED,双击添加到元件区;在搜索框输入RES,添加电阻;在工作区放置LED和电阻,注意LED导通方向。3、最后,双击单片机,添加Keil编译生成的.hex文件,并将晶振改为8M,开始运行仿真。

相似回答