你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【Nucleo板开发日志】----- 通过STLINK虚拟串口打印RTC时间

[复制链接]
sl7198 发布时间:2014-8-30 23:25
拿到nucleo板好几天了,一直没时间动手,前2天有时间看了一下,板型为nucleo_f302r8,c01,发现和我想的不太一样,原来是块可扩展核心板,需要外围电路才行,鉴于本人手头暂时没有蓝牙模块,就决定先熟悉板上自带功能吧,以前一直很纳闷,stm搞个VCP干啥,是不是可以用vcp和单片机做通讯呢?那就做个stlink的虚拟串口打印rtc时钟吧,本以为10秒钟搞定,下载完毕,运行,Ok,......,耶,不大对劲,没有数据上传,咋回事?是stlink的虚拟串口有问题吗?因为以前没有用过stlink的vcp功能,好,找块stm32f103通过串口发数据到nucleo的stLink的vcp,收到数据。
这说明vcp没问题,那就说明问题出在我的nucleo串口初始化上,好吧,我找,找,找。。。,终于被俺找到问题了,其中有个语句如下,
 GPIO_PinAFConfig(GPIOA, GPIO_Pin_2, GPIO_AF_7);
但GPIO_PinAFConfig的原型是:void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF);
那就把第二个参数改为GPIO_PinSource2,既GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_7).
重编,下载,run,去倒杯水,回到座位, 啊,怎么回事,还是没有显示? why? 好吧,程序尚未调通,码农仍需努力啊。调试发现,RTC_Config()中走到语句:
while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)  {}
就不动了,难道是LSE有问题?打开原理图,找到lse位号,拿起板一看,哟,这stm不是欺负人嘛,竟然没焊32.768KHz晶振,赤果果的欺负俺不懂硬件啊!
好,条条大路通罗马,没有lse, 哪咱就用lsi吧,改完代码,run,谢天谢地,终于见到串口在欢乐的打印数据了,一直不知道lsi精度,那就看看吧,拿来示波器,,不看不知道,一看吓一跳,1s的alarm中断在示波器上竟然是1.060s.
看看lse精度吧,找来旧板子,拆个32768hz晶振焊上,(注意:我这块板上晶振边上的电容电阻都没焊),用示波器一看,那精度,整整1s,一分不多一分不少。


本次经历给俺的经验总结如下:
1 :   以前不识货,没能领会VCP功能,只从有了VCP,再也不用担心笔记本电脑没有串口了!
2:还是外部晶振靠谱。 RTC_LSE.rar (63.82 KB, 下载次数: 148)

评分

参与人数 2 ST金币 -2 收起 理由
zpg2020 -1
lhwstm32 -1 赞一个!

查看全部评分

收藏 评论4 发布时间:2014-8-30 23:25

举报

4个回答
霹雳之火 回答时间:2014-8-31 14:21:20

RE:【Nucleo板开发日志】----- 通过STLINK虚拟串口打印RTC时间

很精彩,谢谢分享
沐紫 回答时间:2014-9-1 15:04:13

RE:【Nucleo板开发日志】----- 通过STLINK虚拟串口打印RTC时间

谢谢!
bilgates 回答时间:2014-10-31 20:36:34
如何配置内部的时钟,我也遇到这个问题了
Ljmp 回答时间:2016-1-23 09:26:08
CUBE 搞定或者参考例子!!!

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版