王某人从0开始学习lorawan的笔记_3:最底层!RTC( 很重要 )
时间:2019-08-31
本文章向大家介绍王某人从0开始学习lorawan的笔记_3:最底层!RTC( 很重要 ),主要包括王某人从0开始学习lorawan的笔记_3:最底层!RTC( 很重要 )使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
整个lorawan应用层,所有的时间管理和任务调度都和RTC有关。
使能了ALARM_A功能,通过设置超时时间,我们可以完成对应的任务序列。
宏 N_PREDIV_S 定义了同步预分频的位数,即同步预分频寄存器的重装载值为2^10-1,即得到宏 PREDIV_S。
为了得到最终 1Hz 的日历更新频率,异步预分频的值为 宏 PREDIV_A ( RTC时钟为32.768KHz )。
RTC源码中定义了一个时间戳结构体:
在需要执行定时任务时,就是会更新这个结构体对象的值,并作为时间参考点。可以看做一个时间戳结构体。
RtcTimeContext_t 对象由 uint32_t RtcSetTimerContext( void ) 函数更新。返回32位的同步异分频计数器的总计数值。
void RtcInit( void ); //初始化RTC日历寄存器并使能RTC。
void RtcSetMcuWakeUpTime( void ); //计算MCU从休眠状态切换到工作状态需要的时间,与McuWakeUpTimeInitialized有关,只需要执行一次
void RtcSetAlarm( uint32_t timeout ); //初始化RTC时,并没有使能ALARM_A,此时才使能,timeout是超时时间,即多少时间后触发报警
void RtcStartAlarm( uint32_t timeout );//启动ALARM_A警报功能,开始计时,经过timeout后触发警报
在rtc_board.c和.h文件中还有其他一些功能,比如获取时间,计算时间间隔之类的,都是RTC时钟功能的一些扩展。
就8说了
原文地址:https://www.cnblogs.com/WeiSD/p/11439523.html
- CentOs7.3 安装 JDK1.8
- 基础篇章:关于 React Native 之 ListView 组件的讲解
- maven环境快速搭建
- CentOs7.3 搭建 RabbitMQ 3.6 Cluster 集群服务
- CentOs7.3 搭建 Redis-4.0.1 Cluster 集群服务
- CentOs7.3 搭建 Redis-4.0.1 单机服务
- Shodan新手入坑指南
- 我用过的——Spring定时任务的几种用法
- CentOs7.3 搭建 SolrCloud 集群服务
- CentOs7.3 搭建 Solr单机服务
- CentOs7.3 搭建 ZooKeeper-3.4.9 Cluster 集群服务
- CentOs7.3 ssh 免密登录
- 基础篇章:关于 React Native 之 Touchable 系列组件的讲解
- 基础篇章:关于 React Native 之 Navigator 组件的讲解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- WMI ——重写版
- LeetCode009|只出现一次的数字
- 丢弃掉那些 BeanUtils 工具类吧,MapStruct 是真香!!!
- 还在「黑盒炼丹」? 教你如何实现一行代码透视炼丹过程
- SpringCloud Alibaba微服务实战十九 - 集成RBAC授权
- 混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分
- 打卡群刷题总结0810——从前序与中序遍历序列构造二叉树
- JavaScript性能优化
- Python+Excel+Word一秒制作百份合同
- SQL 订单揽收统计
- LeetCode11|搜索二维矩阵
- LeetCode14|合并排序的数组
- LeetCode12|两个数组的交集
- LeetCode10|只出现一次的数字II
- LeetCode15|有序数组中出现次数超过25%的元素