当前位置: 首页 > news >正文

网站制作教程手机公司注册资金是什么意思

网站制作教程手机,公司注册资金是什么意思,佛山人才招聘网,9 1短视频安装软件文章目录 Unix时间戳时间戳转换BKPRTC简介RTC框图硬件电路RTC的注意事项RTC时钟实验工程 Unix时间戳 Unix 时间戳是从1970年1月1日#xff08;UTC/GMT的午夜#xff09;开始所经过的秒数#xff0c;不考虑闰秒。 时间戳存储在一个秒计数器中#xff0c;秒计数器为32位/64… 文章目录 Unix时间戳时间戳转换BKPRTC简介RTC框图硬件电路RTC的注意事项RTC时钟实验工程 Unix时间戳 Unix 时间戳是从1970年1月1日UTC/GMT的午夜开始所经过的秒数不考虑闰秒。 时间戳存储在一个秒计数器中秒计数器为32位/64位的整型变量。 世界上所有时区的秒计数器相同不同时区通过添加偏移来得到当地时间。 GMT : GMTGreenwich Mean Time 格林威治平时也称格林威治时间。 它规定太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间为中午12点。它将地球自转一周的时间间隔等分为24小时以此确定计时标准。 UTCUTCCoodinated Universal Time协调世界时又称世界统一时间、世界标准时间、国际协调时间。 UTC 是现在全球通用的时间标准全球各地都同意将各自的时间进行同步协调。UTC 时间是经过平均太阳时以格林威治时间GMT为准、地轴运动修正后的新时标以及以秒为单位的国际原子时所综合精算而成。 时间戳转换 对于我们目前使用的电子设备都是通过联网来确认时间戳的。所以我们看到的时间都是由时间戳转换成日期的。 C语言的time.h模块提供了时间获取和时间戳转换的相关函数可以方便地进行秒计数器、日期时间和字符串之间的转换。 这里讲几个会用到的。 第一个time_t time(time_t*),获取系统时钟。 通过使用设备当前时间获取一个时间戳。 第二个struct tm* gmtime(const time_t*);秒计数器转换为日期时间格林尼治时间 这里需要注意的是struct tm 结构体类型成员year和mon 年是从1900年算起的所以实际时间要加上1900 月是从0开始的所以要加上1 时是由于计算是标准时间所以要加上8才是东八区的标准时间。 第三个time_t mktime(struct tm*);日期时间转换为秒计数器当地时间 由于STM32无法计算系统时钟需要软件输入设置当前时间所以也没有当地时间与标准时间的概念。 BKP 备份寄存器是42个16位的寄存器可用来存储84个字节的用户应用程序数据。对于中小容量的产品只能存储20个字节他们处在备份域里当VDD电源被切断他们仍然由VBAT维持供电。当系统在待机模式下被唤醒或系统复位或电源复位时他们也不会被复位。 也就是说只要有一方供电保存的数据就不会丢失 BKP控制寄存器用来管理侵入检测和RTC校准功能。 侵入检测当TAMPER引脚上的信号从’0’变成’1’或者从’1’变成’0’(取决于备份控制寄存器BKP_CR的TPAL位)会产生一个侵入检测事件。侵入检测事件将所有数据备份寄存器内容清除。 RTC校准为方便测量 RTC时钟可以经64分频输出到侵入检测引脚TAMPER上。 这里只是简单介绍这两种功能而已。 RTC简介 实时时钟是一个独立的定时器。 RTC模块拥有一组连续计数的计数器在相应软件配置下可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。 RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域即在系统复位或从待机模式唤醒后 RTC的设置和时间维持不变。 操作访问方法与BKP相同。 相关特性 RTC框图 RTC时钟部分就是在后备区域内上面连接着APB1总线进行读写的操作 左边连接着RTC时钟源。 RTC核心部分是完全独立于APB接口的需要通过软件经过APB1接口访问RTC的预分频值计数器值和闹钟值。 RTC预分频器会先预装重装载器然后给到DIV在RTCCLK时钟源进来的每一次DIV以递减的方式直到DIV为0时才将输出时钟传到CNT上 CNT是一个计数器用来存储时间戳下面的ALR是闹钟寄存器当CNT与ALR相等时可以通过闹钟来产生中断 这些产生的时钟信号经过控制寄存器进入NVIC中断控制器。 硬件电路 这部分是备用电池供电的电路对于简单连接的就是直接连上一个3.3V供电的即可。 右边的是纽扣电池的连接方式。 外部低速晶振图外部时钟的产生 RTC的注意事项 执行以下操作将使能对BKP和RTC的访问 设置RCC_APB1ENR的PWREN和BKPEN使能PWR和BKP时钟 设置PWR_CR的DBP使能对BKP和RTC的访问开启RTC 若在读取RTC寄存器时RTC的APB1接口曾经处于禁止状态则软件首先必须等待RTC_CRL寄存器中的RSF位寄存器同步标志被硬件置1时钟同步 必须设置RTC_CRL寄存器中的CNF位使RTC进入配置模式后才能写入RTC_PRL、RTC_CNT、RTC_ALR寄存器 对RTC任何寄存器的写操作都必须在前一次写操作结束后进行。可以通过查询RTC_CR寄存器中的RTOFF状态位判断RTC寄存器是否处于更新中。仅当RTOFF状态位是1时才可以写入RTC寄存器 RTC时钟实验工程 OLED代码链接入口 连接方式 在OLED屏幕显示一个实时时钟 MyRTC.h #ifndef __MYRTC_H__ #define __MYRTC_H__#include stm32f10x.h // Device header #include time.htypedef struct Time {int sec;int min;int hour;int mday;int mon;int year;}Time;void MyRTC_Init(Time* t); void MyRTC_SetTime(Time* t); void MyRTC_ReadTime(Time* t);#endif MyRTC.c #include MyRTC.h//时间设置 void MyRTC_SetTime(Time* t) {time_t time_cnt;//计数器struct tm time_date;//时钟日期time_date.tm_year t-year-1900;time_date.tm_mon t-mon-1;time_date.tm_mday t-mday;time_date.tm_hour t-hour;time_date.tm_min t-min;time_date.tm_sec t-sec;//设置计数器//日期转换为时间戳time_cntmktime(time_date)-8*60*60;RTC_SetCounter(time_cnt);RTC_WaitForLastTask(); }void MyRTC_Init(Time* t) {//打开电源和后备接口的时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP,ENABLE);//开启RTC的使用PWR_BackupAccessCmd(ENABLE);// if(BKP_ReadBackupRegister(BKP_DR1)!0x1111)// {//配置LSERCC_LSICmd(ENABLE);while(!RCC_GetFlagStatus(RCC_FLAG_LSIRDY));//RCCLK选择LSERCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);//开启RTC的时钟源RCC_RTCCLKCmd(ENABLE);//时钟同步 RTC_WaitForSynchro();RTC_WaitForLastTask();//设置分频器写操作等待完成RTC_SetPrescaler(32767);RTC_WaitForLastTask();//时间初始化设置MyRTC_SetTime(t);//非首次和完全断电给一个值// BKP_WriteBackupRegister(BKP_DR1,0x1111);// }// else// {// RTC_WaitForSynchro();// RTC_WaitForLastTask();// }}//读取时间 void MyRTC_ReadTime(Time* t) {time_t time_cnt;//计数器struct tm time_date;//时钟日期//时间戳转换为日期time_cntRTC_GetCounter()8*60*60;time_date*localtime(time_cnt);t-yeartime_date.tm_year1900;t-montime_date.tm_mon1;t-mdaytime_date.tm_mday;t-hourtime_date.tm_hour;t-mintime_date.tm_min;t-sectime_date.tm_sec; } 对于时钟的选择内部时钟LSI无法在断开电源和复位时进入后备区域LSE外部时钟可以我们可以设置一个值只要是这个值说明就进入了后备区域。由于我的外部时钟晶振无法震荡所以只能使用内部时钟读者可以 修改为 并将那些注释解开即可。 这里进行写操作时函数中就已经进入了配置模式了 这里输入的时钟是东八区的时间而设置计数器为标准时间的时间戳所以要进行减去8* 60* 60 等到读取时间时再加回来 main.c #include stm32f10x.h // Device header #include Delay.h #include OLED.h #include MyRTC.hint main() {Time time;time.year2023;time.mon1;time.mday1;time.hour23;time.min59;time.sec55;OLED_Init();MyRTC_Init(time);MyRTC_SetTime(time);OLED_ShowString(1, 1, Date:XXXX-XX-XX);OLED_ShowString(2, 1, Time:XX:XX:XX);OLED_ShowString(3, 1, CNT :);OLED_ShowString(4, 1, DIV :);while (1){MyRTC_ReadTime(time);OLED_ShowNum(1, 6, time.year, 4);OLED_ShowNum(1, 11,time.mon, 2);OLED_ShowNum(1, 14, time.mday, 2);OLED_ShowNum(2, 6, time.hour, 2);OLED_ShowNum(2, 9, time.min, 2);OLED_ShowNum(2, 12, time.sec, 2);OLED_ShowNum(3, 6, RTC_GetCounter(), 10);OLED_ShowNum(4, 6, RTC_GetDivider(), 10);}}
http://www.dnsts.com.cn/news/241469.html

相关文章:

  • 西安成品网站建设js检测网站是否能打开
  • 品牌网站建设价格实惠上海市工程咨询行业协会
  • 建设标准 免费下载网站图书馆门户网站建设方案
  • 做创意美食的视频网站婚纱摄影网站的设计思路
  • 毕节做网站的公司企业建设网站的方式有哪些
  • 广东h5网站建设百度信息流广告位置
  • 做网站的投入怎么让网站页面自适应
  • 网站备案由别人代佛山个人网站建设
  • 关于做美食的网站什么软件可以建设网站
  • 企业网站的在线推广方法有哪些开发平台为用户提供了哪四类
  • 婚纱摄影网站开发用git 做网站
  • 做网站用什么地图好seo排名关键词点击
  • 网站开发各年的前景广西桂林阳朔有哪些旅游景点
  • wordpress全站腾讯云cdnWordPress安装主题都不行
  • 聊城手机站网站公司电话深圳英文网站开发公司
  • 云浮网站建设宁波建设网表格
  • 海南省建设银行官方网站招聘网站正在升级建设中代码
  • 长春电商网站建设公司电话长春财经学院怎么样好不好
  • 电子商务网站帮助中心该怎么更好地设计wordpress 千万数据
  • 网站建设产品说明书网站制作 深圳
  • 网站查外链做数据表格的网站
  • 福州网站建设网站设计网站推广国外二维码在线查询
  • 温州网站建设平台产品做推广一般上什么网站
  • 济南建网站公html框架布局实例代码
  • wordpress站内搜索次数建站免费软件
  • 定机票最便宜网站建设制作u盘启动盘
  • 安顺网站开发公司太仓建设网站
  • 找人帮你做ppt的网站吗网站源文件修改
  • 网站开发工程师面试试题搭建网站分类
  • 运城市住房和城乡建设厅网站怎样发展网站