peru2016 发表于 2015-12-21 22:41:01

【NUCLEO-F410RB开发】+UID-RTC-UART

本帖最后由 peru2016 于 2015-12-21 22:50 编辑

哈哈,板子到手,就从RTC和串口开始
不过需要先准备很多软件啊。

需要下载CubeMx4.12 还有对于的HAL库 F4 1.10.1
还有准备KEIL5.14 以及:
keil官方库文件包:http://www.keil.com/dd2/pack/
keil官方库文件包F4 2.7.0:http://az717401.vo.msecnd.net/pack/Keil.STM32F4xx_DFP.2.7.0.pack
这个官方的nucleo-F410电路图
这个官方的F410系列芯片手册:

把各种软件和库文件都安装(这里就省略安装过程。。。。:sleepy:漫长的下载。。。。:sleepy:漫长的安装。。。。。)好了以后就可以开始了。。


在论坛逛了好几天,学习喜欢了很多新的东西。。尤其是ST 的CubeMx 外设配置图形化软件。好了,先从CubeMx配置开始:

程序的功能:

1.读取F410RB 的内部96位UID 通过串口输出
2.配置RTC为当前的时间,通过串口输出(年月日,星期xx,时间:00:00:00)
3.按键中断后输出感谢字符串,并且板载LED实现按键被按后变换状态

stm32F410RB单片机手册里找到了UID地址:

以及:Flash容量的地址 不过这次没有使用他

这是板载串口2的原理图,直接和ST-Link接上了。无线手动修改。配置好串口2就可以直接使用了


板载按键的原理图


板载led原理图


上一张漂亮的Mbed 官方图片


还有漂亮的Morpho排针接口定义图



简单的配置说明:
1.使用单片机内部晶振
2.使用串口作为调试验证
3.使用外部晶振32.768Khz给RTC
4.使用PA5 作为板载按键的提示
5.使用PC13板载按键作为中断输入



使用410内部晶振8Mhz



配置RTC,使用了板载的RTC晶振


配置为外部LSE 32.768Khz


RTC简单的配置


然后配置串口2为输出,为了验证结果和方便调试


配置波特率为:115200


RTC时间的配置


中断嵌量配置

输出路径配置


输出文件配置



好了看了这么多的配置图片现在上写程序截图:

让串口使用printf 映射输出:


宏定义UID地址和读取出数据


HAL库里的RTC定义

这是RTC配置,使用了BKP寄存器去判断,RTC是否被配置过。。如果外接3.3v电池就可以保证不会每次上电RTC都被重新初始化了


这里是RTC,年月日-星期-时间的处理函数


使用了HAL库里滴答定时器的作为Time变量去延时输出。。。




这是按键中断回调函数,每次按键被按下,输出字符串和改变LED输出状态


:victory:好了,使用串口软件查看结果了。。UID和时间输出正常!!!


:victory:再次感谢论坛的好活动。。。花了一天的时间才完成。。。。有时间会继续。。。。。



Paderboy 发表于 2015-12-21 23:07:59

哈哈,沙发。。写的很详细啊。。。多谢分享。。。。



风子 发表于 2015-12-21 23:30:59

谢谢分享

alles_ok>>0_0<< 发表于 2015-12-22 10:54:23

多谢分享。。

dsjsjf 发表于 2015-12-22 15:38:12

恭喜恭喜!谢谢分享!

peru2016 发表于 2015-12-22 17:56:50

多谢,支持。。。:loveliness:

huaiqiao 发表于 2015-12-24 10:47:05

看看楼主的帖子。
页: [1]
查看完整版本: 【NUCLEO-F410RB开发】+UID-RTC-UART