stm32相关的配置

由于例程使用的主控芯片为STM32L151C8T6,而在本设计中使用的主控芯片为STM32L051C8T6,内核不一样,并且Cube库相关的函数接口及配置也会有不同,所以芯片的驱动所以做修改。

RTC 的配置

此例程中,RTC被当做定时器使用,用于定时执行任务。

例程中,RTC使用外部LSE的32.768Khz的晶振作为时钟源,

而在本设计中,使用内部LSI作为RTC的时钟源,需要重新设置RTC的分频参数,使得程序正常运行。

注意MCU内部的低速晶振往往误差很大,在使用时很大可能会造成模块接收不到下行包,因为接收对接收窗口的时间要求比较严格,所以如果是对下行要求比较严格的环境,建议不要使用内部晶振。

根据Fck_spre = Frtcclk/(PREDIV_S+1)/(PREDIV_A+1)

例程中RTC的工作频率为32.778/(3+1)/(3+1) = 2.048Khz,

而内部晶振的频率约为37Khz,故PRVEDIV_S和PREDIV_A的值需要改变。

37/2.048 ~= 18;
数据手册里面有这样一句话:
Note: When both prescalers are used, it is recommended to configure the asynchronous
prescaler to a high value to minimize consumption.
所以:18 = 9*2;故设置PREDIV_A = 8,PREDIV_S = 1;

由于

37/18 ~= 2.055

1/2.055 ~= 0.486618

故此处的宏定义需要稍作修改

 /*!
* RTC Time base in ms
*/
#define RTC_ALARM_TICK_DURATION 0.486618 // 1 tick every 466us
#define RTC_ALARM_TICK_PER_MS 2.055 // 1/2.055 = tick duration in ms ((37/(8+1)/(2+1)) = 2.055Khz)

LoRaWAN_stack移植笔记(四)__RTC的更多相关文章

  1. LoRaWAN_stack移植笔记(三)__SPI

    stm32相关的配置 由于例程使用的主控芯片为STM32L151C8T6,而在本设计中使用的主控芯片为STM32L051C8T6,内核不一样,并且Cube库相关的函数接口及配置也会有不同,所以芯片的驱 ...

  2. LoRaWAN移植笔记(一)__RTC闹钟链表的实现

    近日在阅读semtech的Lora-net/LoRaMac-node.此代码是LoRaWAN MAC层的node段的代码. 此代码中构建了一个定时器链表,此链表构建得非常的巧妙,现在和大家分享. 此定 ...

  3. LoRaWAN_stack移植笔记(一)--RF硬件相关

    和硬件相关的问题 TCXO 的使用 根据SX1276数据手册, 如果使用TCXO,则需要配置RegTcxo寄存器为0x19,代码如下 ``` c void SX1276SetTcxoConfig(vo ...

  4. LoRaWAN_stack移植笔记(七)_数据包的接收发送

    以下的代码适用于LoRa sx1276点对点的通讯,纯粹的考虑在非发射模式下即为接收模式 配置sx1276的射频参数,并且切换到接收模式 //bandwidth [0:125 1:250 2:500] ...

  5. LoRaWAN_stack移植笔记 (二)_GPIO

    stm32相关的配置 由于例程使用的主控芯片为STM32L151C8T6,而在本设计中使用的主控芯片为STM32L051C8T6,内核不一样,并且Cube库相关的函数接口及配置也会有不同,所以芯片的驱 ...

  6. python3.4学习笔记(四) 3.x和2.x的区别,持续更新

    python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...

  7. tslib移植笔记(1)【转】

    本文转载自:https://blog.csdn.net/zijie_xiao/article/details/50740950 tslib移植笔记(1)2016-04-25 tslib背景[摘自百度] ...

  8. STemWin5.22移植笔记【转】

    来自:http://www.openedv.com/posts/list/27697.htm STemWin5.22移植笔记 网上关于emwin的资料很少,我在移植的时候查了很多资料,对我一个感觉是好 ...

  9. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

随机推荐

  1. 掌握简单的Makefile文件编程

    Makefile描述整个程序的编译.链接规则 其中还包括了工程中用到的那些源文件及需要产生的目标文件 1)Makefile编程规则 目标(唯一):依赖(可多个) 命令... 伪目标 .PHONY:cl ...

  2. csv文件数据导出到mongo数据库

    from pymongo import MongoClientimport csv# 创建连接MongoDB数据库函数def connection(): # 1:连接本地MongoDB数据库服务 co ...

  3. 编译AMQP-CPP

    1 cd  ./AMQP-CPP/examples/boost$ 2.cmake . 提示boost版本太低, 首先要编译生成boost安装工具bjam进入boost目录执行:./bootstrap. ...

  4. 入职两个月,WPF开发感想

    1 .新工作,新开始 2.WPF初次接触以及学习MVVM开发模式 3.后台数据操作,ORACLE 存储过程(边做边学) 4.总结 4.1工作开发中的小问题 ,遇到的坑:  4.2 解决的问题,学校到的 ...

  5. 个人永久性免费-Excel催化剂功能第83波-遍历文件夹内文件信息特别是图像、音视频等特有信息

    在过往的功能中,有体现出在Excel上管理文件的极大优势,在文件的信息元数据中,有图片和音视频这两类特有的属性数据,此篇对过往功能的一个补充,特别增加了图片和音视频信息的遍历功能. 使用场景 在文件管 ...

  6. 编写Django项目并使用uwsgi和nginx部署在Linux平台

    内容转载自:我自己的博客地址 这是花费了一个月的时间摸索整理出来的一份总结.分享出来一方面是给新人一个借鉴,另一方面对自己也算是个备份. --- *** 整个Django项目: ├── example ...

  7. <<Modern CMake>> 翻译 1. CMake 介绍

    <<Modern CMake>> 翻译 1. CMake 介绍 人们喜欢讨厌构建系统. 仅仅观看 CppCon17 上的演讲,就可以看到开发人员因为构建系统而闹笑话的例子. 这 ...

  8. Spring方法级别数据校验:@Validated + MethodValidationPostProcessor

    每篇一句 在<深度工作>中作者提出这么一个公式:高质量产出=时间*专注度.所以高质量的产出不是靠时间熬出来的,而是效率为王 相关阅读 [小家Java]深入了解数据校验:Java Bean ...

  9. 仿制shazzam的简单功能,将hlsl转换为WPF中的ShaderEffect

    (此文章只是在对WPF的Effect产生兴趣才稍微研究了一点后面的知识;需要了解更多可参考https://archive.codeplex.com/?p=shazzam的源代码以及WPF基础知识) 1 ...

  10. 【Demo 1】基于object_detection API的行人检测 2:数据制作

    项目文件结构 因为目录太多又太杂,而且数据格式对路径有要求,先把文件目录放出来.(博主目录结构并不规范) 1.根目录下的models为克隆下来的项目.2.pedestrian_data目录下的路径以及 ...