STM32的RTC应用之UNIX时间戳C语言原程序
C语言原程序
MDK环境
<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0.186M
这里主要说一下STM32这块芯片的优势。
1.定时器:定时器工作的模式较多,比较复杂,具体的要看数据手册。最主要的特点是定时器1支持六组PWM,前有死区设置,这个对高过变频器,UPS等同志来说相当于找到了知音,一看就知道了天生具备了三相异步感应电动机控制的能力,看看其他定时器,都有4路PWM,同样有死区控制,而且定时器有编码器模式,这不仅能控制步进电机、无刷电机,而且速度环的控制也能进行,真是无所不能,这是我看到的比较NB的片子了。
2.ADC:12位分辨率,1Mbps的速度,16通道(外带一个温度传感器和内部电压检测),随便看看ADS的ADC芯片,20快钱也只能买个2通道,500Kbps的吧,这个ADC和MPS430的有相同之处,能够制定采样的顺序,进行不间断的采样,用起来相当的爽,很顺手。看看三项电力仪表可以用它了吧。还有一个我比较喜欢的功能就是带模拟量看门狗(比较像新名词啊),说白了就是设定最大值,最小值限制的,超过这个值可以产生中断(爽吧,有写东西不需要一直判断,刷新了)。
3.DMA:DMA是最近才注意研究的功能,他能将外设的信息直接存储到SRAM中,或者将SRAM中的数据直接传递给外设,不需要CPU的干预,这样大大提高了效率,就拿ADC来举例吧。虽然ADC的采样速度能够到1M,但是我们要读寄存器什么的,这样速度永远到不了1M,然而用了DMA,我可以设定一个BUFFER给DMA,转换后DMA自动将转换值写入SRAM中,写完最后一个后如果还有数据,将从第一个开始覆盖,形成一个环形队列,这样加上过采样处理,能够大大改善ADC的采样精度。
4.USART 串口资源比较丰富,有一个完整的9针串口(完整功能的串口,带CTS RTS等),同步异步都可以,有点就是数量多,由于GPIO可以REMAP,所以资源基本上都能用上,避免了51只能用一个资源的尴尬。
5.价格:我大概问代理商申请了一些样片,100脚,128K flash 20K RAM ,淘宝价是30多元。
Unix时间戳的英文名为Unix epoch, Unix time, POSIX time 或 Unix timestamp,它指的是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。时间戳0按照ISO timestamp。它指的是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。时间戳0按照ISO 8601格式写出来为 1970-01-01T00:00:00Z 。一小时为3600秒,一个基准日(也称纪元日,epoch day)是86400秒,闰秒没有计算在内.多数Unix系统将时间戳以一个32位整型进行保存,这可能会在2038年1月19日产生一些问题(Y2038问题)。
下面是一些常用的时间单位换算列表,方便你手工计算这些时间戳,上面也可以把秒数转换为天数小时数分钟数和秒数:
1 分=60 秒 1小时=3600 秒 1天=86400 秒 1周=604800 秒 1月=(30.44 天)2629743 秒 1年=(365.24 天)31556926 秒
http://www.ziddu.com/download/8047412/stm32_rtc_unixtime.rar.html
免费不限容量能赚钱的世界知名网络硬盘<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
用户607953 2013-6-15 15:54
用户90422 2008-3-10 16:37
用户1119503 2007-9-7 12:30
LCD的资料 我好像在LCD.H中有说明吧! 看起来 是没有看我写的东西罗 这位仁兄(妹)
一般我写的代码里面 的LCD.H 都会说明是针对那个芯片或者是模块写的 有些还提供了这些公司的网站地址或者其他联系方式
这样便于自己联系
用户33037 2007-8-30 08:15