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. [记录]python异步编程async/await实现

    from selectors import DefaultSelector, EVENT_READ, EVENT_WRITE import socket from types import corou ...

  2. 洛谷 P1311 【选择客栈】

    枚举在那个咖啡店喝咖啡 想要计算咖啡店两侧同色的客栈的对数 枚举i求和(左边第i种颜色的个数*右边第i种颜色的个数) 前缀和+后缀和 f[i][j]f[i][j]f[i][j]表示到第i家客栈及之前颜 ...

  3. xss magic_quotes_gpc

    ---恢复内容开始--- magic_quotes_gpc函数,在php5.4以上移除了, 但是很奇怪的是  我的5.6版本这边  是可以找到这个选项的. 在php.ini文件里面,默认关闭,如果将此 ...

  4. [leetcode]python 283. Move Zeroes

    Given an array nums, write a function to move all 0's to the end of it while maintaining the relativ ...

  5. python红蓝英雄大乱斗(面向对象实现)

    红蓝英雄大乱斗 游戏规则 ''' 有红蓝两方英雄(可自定义个数) 随机一方英雄使用随机攻击方式攻击另一方英雄,任意一方英雄全部阵亡则游戏结束 每个英雄有 名字.生命值.普通攻击.Q技能攻击.W技能攻击 ...

  6. springboot整合mybatis时无法读取xml文件解决方法(必读)

    转    http://baijiahao.baidu.com/s?id=1588136004120071836&wfr=spider&for=pc 在springboot整合myba ...

  7. .NET Core CSharp初级篇 类的生命历程

    .NET Core CSharp初级篇 1-7 本节内容为类的生命周期 引言 对象究竟是一个什么东西?对于许多初学者而言,对象都是一个非常抽象的知识点.如果非要用一句话描述,我觉得"万物皆对 ...

  8. vue.js主要内容

    vue的主要内容 1.了解vue 2.vue开发环境的搭建和脚手架工具的使用 3.vue具体的指令和项目实战 1.了解vue 1.具备基础:html.css.js,模块化概念.ES6语法(简单即可) ...

  9. java的properties文件从数据库添加到文件

    package com.xian.jdbc; import java.io.BufferedInputStream; import java.io.FileInputStream; import ja ...

  10. Java虚拟机学习笔记(一)之初识

    一:特定 跨平台性.安全性.可移植性. 二:体系机构 Java 体系结构包括四个独立但相关的技术: Java程序设计语言 Java Class文件格式 Java 应用编程接口(API) Java 虚拟 ...