OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2104|回复: 1

STM32F030 温度高 串口发送数据出错

[复制链接]

16

主题

147

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7136
金钱
7136
注册时间
2015-1-23
在线时间
105 小时
发表于 2017-8-17 11:55:52 | 显示全部楼层 |阅读模式
用STM32F0做一个项目   在室内(夏天开空调温度25)测串口数据输出固定数据一天都没有问题, 拿到室外(夏天估计有40度)不到2分钟就出错,   找了两天, 开始以为买到假货了, 最后发现是晶振配置错误.请参考http://www.51hei.com/bbs/dpj-47151-1.html     





晶振有两种配置方式,  我用的有源晶振(外部时钟), 却配置成陶瓷谐振器

外部时钟源(HSE旁路)
在这个模式里,必须提供外部时钟。它的频率最高可达50MHz。用户可通过设置在时钟控制寄
存器中的HSEBYP和HSEON位来选择这一模式。外部时钟信号(50%占空比的方波、正弦波或
三角波)必须连到SOC_IN引脚,同时保证OSC_OUT引脚悬空。



外部晶体/陶瓷谐振器(HSE晶体)

HSE晶体可以通过设置时钟控制寄存器(RCC_CR)中的HSEON位被启动和关闭。




所以配置失败 导致内部RC时钟是主时钟,温度对此时钟影响还是很大的


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

147

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7136
金钱
7136
注册时间
2015-1-23
在线时间
105 小时
 楼主| 发表于 2017-8-17 11:58:20 | 显示全部楼层
void SystemClock_Config(void)
{

  RCC_OscInitTypeDef RCC_OscInitStruct;
  RCC_ClkInitTypeDef RCC_ClkInitStruct;
  RCC_PeriphCLKInitTypeDef PeriphClkInit;

    /**Initializes the CPU, AHB and APB busses clocks
    */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS;
  RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 04:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表