时钟配置

配置RTC

代码配置

Rte_Timer.h


typedef struct
{uint8 WeekDay;  /*!< Specifies the RTC Date WeekDay (not necessary for HAL_RTC_SetDate).This parameter can be a value of @ref RTC_WeekDay_Definitions */uint8 Month;    /*!< Specifies the RTC Date Month (in BCD format).This parameter can be a value of @ref RTC_Month_Date_Definitions */uint8 Date;     /*!< Specifies the RTC Date.This parameter must be a number between Min_Data = 1 and Max_Data = 31 */uint32 Year;     /*!< Specifies the RTC Date Year.This parameter must be a number between Min_Data = 0 and Max_Data = 99 */uint8 Hours;            /*!< Specifies the RTC Time Hour.This parameter must be a number between Min_Data = 0 and Max_Data = 23 */uint8 Minutes;          /*!< Specifies the RTC Time Minutes.This parameter must be a number between Min_Data = 0 and Max_Data = 59 */uint8 Seconds;          /*!< Specifies the RTC Time Seconds.This parameter must be a number between Min_Data = 0 and Max_Data = 59 */
}sRTC_Timer;
Rte_Timer.c```c
volatile sRTC_Timer GetRTC_Timer;
volatile sRTC_Timer SetRTC_Timer;void RtcTimerGet(void)
{static RTC_DateTypeDef RtcTimer_Date;static RTC_TimeTypeDef RtcTimer_Time;if (HAL_RTC_GetTime(&hrtc, &RtcTimer_Time, RTC_FORMAT_BIN) != HAL_OK){//Error_Handler();}if (HAL_RTC_GetDate(&hrtc, &RtcTimer_Date, RTC_FORMAT_BIN) != HAL_OK){//Error_Handler();}GetRTC_Timer.Year = RtcTimer_Date.Year+2000;GetRTC_Timer.Month = RtcTimer_Date.Month;GetRTC_Timer.Date = RtcTimer_Date.Date;GetRTC_Timer.Hours = RtcTimer_Time.Hours;GetRTC_Timer.Minutes = RtcTimer_Time.Minutes;GetRTC_Timer.Seconds = RtcTimer_Time.Seconds;GetRTC_Timer.WeekDay = RtcTimer_Date.WeekDay;
}void RtcTimerSet(void)
{static RTC_DateTypeDef SetRtcTimer_Date;static RTC_TimeTypeDef SetRtcTimer_Time;SetRtcTimer_Date.Year = SetRTC_Timer.Year - 2000;SetRtcTimer_Date.Month = SetRTC_Timer.Month;SetRtcTimer_Date.Date = SetRTC_Timer.Date;SetRtcTimer_Time.Hours = SetRTC_Timer.Hours;SetRtcTimer_Time.Minutes = SetRTC_Timer.Minutes;SetRtcTimer_Time.Seconds = SetRTC_Timer.Seconds;//SetRtcTimer_Date.WeekDay = SetRTC_Timer.WeekDay;if (HAL_RTC_SetTime(&hrtc, &SetRtcTimer_Time, RTC_FORMAT_BIN) != HAL_OK){//Error_Handler();}if (HAL_RTC_SetDate(&hrtc, &SetRtcTimer_Date, RTC_FORMAT_BIN) != HAL_OK){//Error_Handler();}
}

初始化

#include "tim.h"
//set rte init time
SetRTC_Timer.Year = 2022;
SetRTC_Timer.Month = 8;
SetRTC_Timer.Date = 2;
SetRTC_Timer.Hours = 7;
SetRTC_Timer.Minutes = 30;
SetRTC_Timer.Seconds = 10;
RtcTimerSet();

显示函数

char displaybuffer[200];
RtcTimerGet();
sprintf(displaybuffer,"%.4d/%.2d/%.2d %.2d:%.2d:%.2d w:%d", \
GetRTC_Timer.Year,GetRTC_Timer.Month,GetRTC_Timer.Date,\
GetRTC_Timer.Hours,GetRTC_Timer.Minutes,GetRTC_Timer.Seconds,GetRTC_Timer.WeekDay);

3:STM32CubeMX配置STM32F103C8T6驱动-RTC驱动相关推荐

  1. 1:STM32CubeMX配置STM32F103C8T6驱动-下载软件配置RCC,CAN1,USART1

    1:下载软件 点击 这里立即下载,共454M. 2:通过STM32CubeMX配置USART1,CAN1 1:创建工程 创建文件夹存放工程 添加工程名称及路径: 为每个驱动单独创建.c和.h文件. 2 ...

  2. 2:STM32CubeMX配置STM32F103C8T6驱动-TIM1配置

    1:STM32CubeMX配置 1:确定时钟 2:设置1ms触发一次,72M/72/1000= 1000/s 定时器触发中断: 2:代码配置 在main.c中 /* USER CODE BEGIN 2 ...

  3. 2:STM32CubeMX配置STM32F103C8T6驱动-SPI驱动

    STM32CubeMX下载地址: 下载界面 1:时钟 CS 2:模块 3:代码配置 u8 SPI_WriteByte(u8 Byte) {u8 rxdata = 1;HAL_GPIO_WritePin ...

  4. linux RTC驱动

    一.RTC的概念和工作原理 RTC:实时时钟,主要用来记录时间的,通过RTC时钟可以知道年月日和时间.可以外加RTC芯片实现RTC功能,也可以用主控芯片内部集成好的RTC模块.在板子关闭电源后,可以用 ...

  5. STM32CubeMX 配置CAN总线进行双板通信(STM32F103C8T6)

    本篇详细的记录了如何使用STM32CubeMX配置 STM32F103C8T6 的硬件CAN接口与另一个开发板之间通信. 1.硬件设计 我这里使用的TJA1050T作为CAN通信收发器,连接f103的 ...

  6. STM32CubeMX | 40 - 实时时钟RTC的使用(日历和闹钟)

    本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的 RTC 外设. 本系列教程所编写的驱动源码:https://github.com/Mculover666/HAL_Dri ...

  7. STM32CubeMX配置PWM驱动舵机

    STM32CUBEMX配置PWM,控制舵机 舵机 简介 舵机(Servo),由直流电机.减速齿轮组.传感器和控制电路组成的一套自动控制系统.其控制方式为PWM控制,通过调节控制信号的占空比来实现舵机转 ...

  8. 火牛单片机rtc时钟配置_RTC 实时时钟驱动 - Linux内核之我的天下 - CSDN博客

    RTC实时时钟驱动 -------I2C软件模拟通信 内核版本: linux-2.4.21 文档设计:侯辉华 版本: 1.01 时间: 2007/06/10 内容简介:介绍接在I2C总线上RTC实时时 ...

  9. 【STM32CubeMX】教程二_IIC驱动0.96oled屏幕(SSD1306)

    [STM32CubeMX]教程二_IIC驱动0.96oled屏幕(SSD1306) 文章目录 [STM32CubeMX]教程二_IIC驱动0.96oled屏幕(SSD1306) 前言 一.IIC通讯 ...

最新文章

  1. Build Boost C++ libraries for x32/x64 VC++ compilers on Windows
  2. 美国半导体十年计划中的NO.1,模拟硬件究竟有什么价值?
  3. configure.ac:64: error: possibly undefined macro: AM_ICONV
  4. linux 查看ntp版本号_如何让Linux时间与internet时间同步(CentOS)?
  5. 打印页面横向怎么设置_条码打印软件标签纸页面设置的方法
  6. 设置Jupyter notebook 默认工作路径,修改Jupyter notebook 默认浏览器为Chrome
  7. 嵌入式wifi 芯片 推荐_人工智能对汽车芯片设计的影响
  8. html页面底部白条,用cookie解决新版微信中H5页面底部白条问题
  9. C语言bmp文件隐藏,怪事!!关于读bmp文件!
  10. 一文读懂HBase(安装,架构原理,优化,API,es二级索引,phoenix)
  11. 毕设题目:Matlab图像压缩
  12. PRISM概率模型检测器初使用--骰子模型
  13. 将手机投屏到电脑以及用手机实现对电脑的控制
  14. VScode的代码截图插件CodeSnap
  15. 同时开发两款H5的ARPG游戏的设计和实践
  16. 大数据-机器学习导论-1
  17. python 给定一个字符串,输出所有指定长度为n的子串,没有则输出-1
  18. 阿里物联网平台的使用
  19. 使用POI实现Excel导出导入 详细解释
  20. SVN报错“previous operation has not finished…“的解决办法

热门文章

  1. 新一代萌主!人见人爱的夏洛特小公主
  2. 学校计算机专业春联大全带横批,关于学校的春联带横批.doc
  3. 地球引擎中级教程——地球引擎对象(含练习)
  4. 计算机科学与技术补中益气丸的成分,经典名方,补中益气丸运用解析
  5. 产品新人如何才能找到第一份产品工作?
  6. mysql语句按时间顺序排序_SQL语句怎么写?先按时间排序,再按姓名排序?
  7. 手游平台系统搭建sdk服务端接口文档
  8. MEM/MBA英语基础(07)复合句-定语从句
  9. TortoiseSVN服务器端下载及使用方法
  10. 一个由服务器时区引发的Bug