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

网站建设中图片怎么样手机优化软件排行

网站建设中图片怎么样,手机优化软件排行,英文购物网站建设,做爰网站有哪些前言: 关于RTC时钟的HAL库配置我也是第一次,之前都是用库函数的写法,这里写下这篇博客来记录一下自己的学习过程。 STM32Cubemx配置: 首先点击左侧的Timers的RTC,勾选以下选项 进入时钟树配置 进入时间设置&#xff0…

前言:

 

        关于RTC时钟的HAL库配置我也是第一次,之前都是用库函数的写法,这里写下这篇博客来记录一下自己的学习过程。

STM32Cubemx配置:

        首先点击左侧的Timers的RTC,勾选以下选项

        进入时钟树配置

         进入时间设置,这里我把时间设置为了2023年3月12日20点20分,但是我圈出来的地方一定要注意,125✖6000刚好是750Mhz,一秒发生一次中断

         到此为止,我们的STM32Cubemx配置就算是结束了,直接点击生成代码,接下来就是写代码了。

代码部分:

        这里有几点需要给大家强调一下,获取RTC时间或者日期时,必须先获取时间,再获取日期,顺序不能颠倒(会获取失败),而且时间和日期调用的时候不能单独调用,必须两个同时调用,否则出错,这是我实践得出的结果,即使我也不是太懂为啥。

RTC_TimeTypeDef sTime;				
RTC_DateTypeDef sDate;while (1){HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN);HAL_RTC_GetDate(&hrtc, &sDate, RTC_FORMAT_BIN);sprintf((char *)LCD_dispaly,"%02d:%02d:%02d--%02d:%02d:%02d",sDate.Year,sDate.Month,sDate.Date,sTime.Hours,sTime.Minutes,sTime.Seconds);LCD_DisplayStringLine(Line9,LCD_dispaly);	}

额外功能:

        暂停功能,起始暂停功能我一开始是没有想起来的,后来才想到,把RTC给关了,那不就暂停了吗

__HAL_RCC_RTC_DISABLE();

        恢复计时功能:

__HAL_RCC_RTC_ENABLE();

最终实现效果:

        

设定闹钟:

        RTC 时钟其中一大功能就是闹钟中断,我们在SM32Cubemx中进行如下配置

         将闹钟触发的时间设置为20:20:3,也就是初始时间的3秒后

         然后我们使能中断

代码部分:

        这里设置闹钟的话就需要对代码进行封装了

        我们需要重新写一个GET_Time()函数,还有一个SET_Alarm()函数,同时要需要重新写一下RTC中断的回调函数

        这里一开始我是不打算去写GET_Time()函数的,我决定直接用前面提到的两个函数不就可以了吗,结果报了两个警告,保险起见,我还是把这两个函数封装一下:

         GET_Time():

void GET_Time(void)
{HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN);HAL_RTC_GetDate(&hrtc, &sDate, RTC_FORMAT_BIN);
}

        SET_Alarm(),这个函数其实是我复制了MX_RTC_Init()里面的内容,然后更改一下就可以了,让每次中断的时候读取当前秒数,读取到的秒数再加上3就是下一次中断的触发时间。

void SET_Alarm(void)
{RTC_AlarmTypeDef sAlarm = {0};sAlarm.AlarmTime.Hours = 0x20;sAlarm.AlarmTime.Minutes = 0x20;sAlarm.AlarmTime.Seconds = sTime.Seconds+1;sAlarm.AlarmTime.SubSeconds = 0x0;sAlarm.AlarmMask = RTC_ALARMMASK_DATEWEEKDAY|RTC_ALARMMASK_HOURS|RTC_ALARMMASK_MINUTES;sAlarm.AlarmSubSecondMask = RTC_ALARMSUBSECONDMASK_ALL;sAlarm.AlarmDateWeekDaySel = RTC_ALARMDATEWEEKDAYSEL_DATE;sAlarm.AlarmDateWeekDay = 0x1;sAlarm.Alarm = RTC_ALARM_A;if (HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, RTC_FORMAT_BCD) != HAL_OK){Error_Handler();}if(sAlarm.AlarmTime.Seconds==60)sAlarm.AlarmTime.Seconds=0;HAL_RTC_SetAlarm_IT(&hrtc,&sAlarm,RTC_FORMAT_BIN);if (HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, RTC_FORMAT_BCD) != HAL_OK){Error_Handler();}}

 

 

         之后,我们在RTC的回调函数中书写服务函数

void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
{GET_Time();SET_Alarm();sprintf(string,"%02d:%02d:%02d\n",sTime.Hours,sTime.Minutes,sTime.Seconds);HAL_UART_Transmit(&huart1,(unsigned char *)string,strlen(string),50);
}

闹钟的效果实现:

        每一秒向串口助手发送当前时间

 

http://www.yidumall.com/news/84325.html

相关文章:

  • 做网站 绑定域名百度视频免费下载
  • 一浪网站建设营销网络图
  • 如何创业做网站长沙网站seo外包
  • 安阳网站建设优化seo站长工具平台
  • asp故障解答网站模板b2b网站有哪些
  • 网站建设是属于b2中国重大新闻
  • 西安有做网站的吗今日舆情热点
  • 网站seo啥意思怎么做sem推广计划
  • 西安分类信息网站今日最新新闻
  • 石家庄网站建设找哪家百度推广技巧方法
  • 三五互联网站管理登录地址源码网
  • 汽车网站建设公司哪家好jsurl转码
  • 宁波建设网站原创软文
  • 手机端做网站软件百度流量统计
  • 武昌网站建设关注公众号一单一结兼职
  • 专业的深圳网站建设前端seo主要优化哪些
  • 全国代理网武汉seo关键词优化
  • 怎么推广自己的网站链接郑州seo网站关键词优化
  • 品牌网站建设小7a蝌蚪浅谈一下网络营销的几个误区
  • 做ps可以在哪些网站上找素材百度快照和广告的区别
  • 烟台做外贸网站建设品牌运营策略有哪些
  • 秦皇岛网站搜索优化营销
  • 网站关键词优化遇到的情况和解决方法网页制作软件手机版
  • 做网站需要ps吗游戏推广文案
  • 关于工程项目建设的网站常州谷歌推广
  • 网站制作后台怎么做百度推广竞价开户
  • wordpress定时网站地图公司产品营销广告宣传
  • 手机做网站的百度指数大数据分享平台
  • 做网站外包需要提供什么站长工具搜索
  • 网页设计代码大全下载优化网站教程