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. 下载历史版本CentOS

    搜索centos 进入主页面向下移动滚动找到 点击后向下移动,选择需要的版本进行tree 选择 OK!

  2. SVG波浪动画

    今天来试试用svg+css3制作波浪动画 下图是我制作出的效果 还不错吧 在制作波浪前,首先我们要画波浪啊,至于画波浪,如果你想直接通过计算贝塞尔曲线绘制出波浪... 好吧,那我也不拦着你 我就直接用 ...

  3. linux 反弹shell

    Linux下反弹shell笔记 0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或 ...

  4. 题解 P1864 【[NOI2009]二叉查找树】

    #include<cstdio> #include<string> #include<cstring> #include<iostream> #incl ...

  5. python -服务器与客户端断电续传程序详细介绍

    6.28自我总结 客户端与服务器之间文件传输断电续传 `通过判断文件大小,以及文件在读取中的指针位置的调整来解决断电续传问题' 1.程序目录 E:/断电续传 |___bil | |___common. ...

  6. 《VR入门系列教程》之8---GearVR

    高端移动虚拟现实设备---三星GearVR     Oculus Rift也许是虚拟现实头显的典范,但是它还是存在许多问题.首先,它需要基于一个具有强大图形计算能力的计算机,而使用一般的笔记本.苹果A ...

  7. 《VR入门系列教程》之5---应用方向

    VR应用方向     面向消费者的虚拟现实才发展了几年,就出现了大量应用程序,虚拟现实抓住了人们对未来的渴望.开发者甚至想要把整个现实世界都做成虚拟现实,这些都是可以理解的.     但是,现在仍然没 ...

  8. centOS7 安装mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar

    在虚拟机上安装mysql走了不少弯路,在此备份... 首先感谢下这几篇博客提供的帮助: https://www.cnblogs.com/pythonal/p/6141516.html http://b ...

  9. 搭建python环境

    参考文章:https://blog.csdn.net/qq_33855133/article/details/73106176 对于配置环境变量,懂些技术的人来说,都是很简单. 变量是在操作系统中一个 ...

  10. 牛客第三场 J LRU management

    起初看到这道题的时候,草草就放过去了,开了另一道题,结果开题不顺利,总是感觉差一点就可以做出来,以至于一直到最后都没能看这道题qaq 题意:类似于操作系统上讲的LRU算法,有两个操作,0操作代表访问其 ...