STM32设备之RTC编程(一)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一、RTC设备的分类
根据我前一篇文章对设备的分类,RTC属于这样一种设备:直接接口设备,它挂接在处理器的系统总线上;它的输入是时钟信号,这个信号可能由外部的低频振动源提供,也能使用内部输出时钟。
累计时钟脉冲数目,改变RTC设备内部计数数据。CPU可以通过总线接口写入控制数据,控制RTC的工作模式和特点。在特定时刻,RTC可以向CPU提供状态信号主要是中断信号,CPU也可以通过系统总线接口读取计时数据等。
二、程序设计目的
在程序的设计以我之前编写的shell程序为基础。
1、在shell输入time命令,显示系统当前时间。
2、时间显示格式,HH:MM:SS。
三、程序结构设计
1、在原有四个命令的基础上添加新命令,主要工作是在命令表中添加一项:将命令与命令处理函数对应起来。
2、命令处理函数的工作
调用RTC的读取函数从RTC读取数据。
调用转换函数将32位计数值转变成所需要的时间格式。
调用sprintf将数据转换为字符格式。
调用shell_printf在屏幕上显示。
3、RTC设备的初始化工作
在备份域里用一个数据表明RTC有没有进行初始化。
如果没有初始化,对RTC进行工作模式初始化并写入当前的大概时间值,将HH:MM:SS格式转变成32位,然后写入RTC。并且在备份域里写入特定数据。
如果已经初始化,则什么工作都不做。
文章评论(0条评论)
登录后参与讨论