码迷,mamicode.com
首页 > 其他好文 > 详细

2015.8.3stm32f4串口调试记录

时间:2015-08-03 18:29:46      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

由于最近要做一个IRIGB的转码模块,需要从GPS模块获取时间数据,处理器和GPS采用串口通信的方式。由于串口通信用得太多,就直接上手将串口的配置代码写完,然后试着用串口发送一个字符‘2‘,然后通过PC上的串口调试助手,可以看到我收到的是一个’向上的箭头‘。于是问题来了,对于我这个单片机玩了都不玩的人来说,这似乎有点弱智,可是我调了一下午也没发现什么端倪,因为,这个代码确实是比较简单。最后没有办法只有用百度去搜搜类似的问题,百度上答案无非都是在说是时钟配置问题,但是这一点我似乎不太相信。因为之前我也遇到过类似时钟配置的问题,但是后来我都改过来了,所以时钟配置应该是没什么问题的。我还用个LED测试了一下,让他每隔一秒闪烁一下,结果显示正常。之前时钟出问题是由于板载时钟是8MHz,但是在文件system_stm32f4xx.h中却将PLL_M设置成了25,改过来之后就好了。

/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M      8
#define PLL_N      336

抱着对时钟配置正确的想法,我又折腾了很久,还是没有丝毫进展,于是又去仔细查看别人的回答,偶然看到一个人的回答,他说时钟配置除了以上位置要改之外,还有一处要设置,我按照他的方法设置之后,测试结果正确。这一处代码就在stm32f4xx.h中:

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

  原来里面的是((uint32_t)25000000),这里由于板载时钟是8MHz,所以要将其改为8000000

 

2015.8.3stm32f4串口调试记录

标签:

原文地址:http://www.cnblogs.com/wan0807/p/4699711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!