【沁恒蓝牙mesh】CH58x 将RTC时钟切换为LSE外部低速时钟

news2024/9/25 23:22:45

本文主要记录了【沁恒蓝牙mesh】CH58x 如何将RTC时钟切换为外部时钟

  • 💖 作者简介:大家好,我是喜欢记录零碎知识点的小菜鸟。😎
  • 📝 个人主页:欢迎访问我的 Ethernet_Comm 博客主页🔥
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:沁恒蓝牙mesh二次开发
    🍁
  • 💬格言:写文档啊不是写文章,重要的还是直白!🔥

1. 硬件设计

  • ·X32MO X32MI引脚外接32M时钟,作为MCU系统运行的高速时钟
  • PA11 PA10引脚外接 32.768K 时钟

关于 CH58X·时钟计算可参考我的博文:
【沁恒蓝牙mesh】CH58x系统时钟配置与计算
在这里插入图片描述

2. 软件配置

软件默认使用的是 系统内部时钟

void HAL_TimeInit(void)
{
#if(CLK_OSC32K)
    sys_safe_access_enable();
    R8_CK32K_CONFIG &= ~(RB_CLK_OSC32K_XT | RB_CLK_XT32K_PON);
    sys_safe_access_enable();
    R8_CK32K_CONFIG |= RB_CLK_INT32K_PON;
    sys_safe_access_disable();
    Lib_Calibration_LSI();
#else
    sys_safe_access_enable();
    R8_CK32K_CONFIG |= RB_CLK_OSC32K_XT | RB_CLK_INT32K_PON | RB_CLK_XT32K_PON;
    sys_safe_access_disable();
#endif
    RTC_InitTime(2020, 1, 1, 0, 0, 0); //RTC时钟初始化当前时间
    TMOS_TimerInit(0);
}

3. 切换RTC时钟为LSE外部时钟

配置流程参考官方手册:
在这里插入图片描述

// 首先不要将PA10 PA11引脚配置为输出
sys_safe_access_enable();
//                    切换LSE           内部32K使能                开启外部晶振         
R8_CK32K_CONFIG |= RB_CLK_OSC32K_XT | RB_CLK_INT32K_PON |     RB_CLK_XT32K_PON;
sys_safe_access_enable();
R16_CLK_SYS_CFG |= RB_CLK_SYS_MOD;   // 32k 作为 HCLK
sys_safe_access_disable();
#include "CH58x_common.h"

void DebugInit(void)
{
    GPIOA_SetBits(GPIO_Pin_9);
    GPIOA_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_PU);
    GPIOA_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP_5mA);
    UART1_DefInit();
}
__HIGH_CODE
void test1(void){
//外部32K,需要屏蔽PA10/PA11的IO翻转(32K晶振引脚)
    sys_safe_access_enable();
    R8_CK32K_CONFIG |= RB_CLK_OSC32K_XT | RB_CLK_INT32K_PON | RB_CLK_XT32K_PON;
    sys_safe_access_enable();
    R16_CLK_SYS_CFG |= RB_CLK_SYS_MOD;
    sys_safe_access_disable();
}

__HIGH_CODE
int main()
{
    uint8_t      i;
    SetSysClock(CLK_SOURCE_PLL_60MHz);
    GPIOB_ModeCfg(GPIO_Pin_4,  GPIO_ModeOut_PP_5mA);   //设置模式 输出
    GPIOB_SetBits(GPIO_Pin_4);
    //GPIOA_ModeCfg(GPIO_Pin_10 | GPIO_Pin_11,  GPIO_ModeOut_PP_5mA); //设置模式 输出,验证内部32k作为主频时,外部32k是不工作的。
    //GPIOA_ResetBits(GPIO_Pin_10);
    //GPIOA_SetBits(GPIO_Pin_11);
    mDelaymS(3000);     //等待60M稳定
    test1();
    while(1);
}


参考:

CH573F 使用LSI时如何关闭外部晶振

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1263050.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

堆的应用(堆排序、Top-K问题)

文章目录 1 堆排序2 Top-K问题 1 堆排序 堆排序是一种基于二叉堆(通常使用数组实现)的排序算法。 它的基本思想是利用堆这种数据结构的性质,通过建立一个堆(大堆或小堆),使得堆的根节点是所有节点中的最大值…

14.Tomcat和HTTP协议-[一篇通]

文章目录 1.HTTP 协议1.1HTTP 是什么1.2理解 "应用层协议"1.3理解 HTTP 协议的工作过程1.4HTTP 协议格式1.4.1抓包工具的使用(Fiddler)1.4.2抓包工具的原理1.4.3抓包结果1.4.4协议格式总结 1.5HTTP 请求 (Request)1.5.1认识 URL1.5.1.1URL 基本格式1.5.1.2关于 URL e…

【算法每日一练]-图论(保姆级教程篇7 最小生成树 ,并查集模板篇)#村村通 #最小生成树

目录 题目:村村通 并查集 题目:最小生成树 kruskal算法 prim算法 先引入问题: 要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺…

微信小程序nodejs+vue+uniapp视力保养眼镜店连锁预约系统

作为一个视力保养连锁预约的网络系统,数据流量是非常大的,所以系统的设计必须满足使用方便,操作灵活的要求。所以在设计视力保养连锁预约系统应达到以下目标: (1)界面要美观友好,检索要快捷简易…

【密码学】【安全多方计算】浅析隐私求交PSI

文章目录 隐私求交的定义隐私求交方案介绍1. 基于DH的PSI方案2. 基于OT的PSI方案3.基于OPRF的PSI方案 总结 隐私求交的定义 隐私集合求交使得持有数据参与方通过计算得到集合的交集数据,而不泄露任何交集以外的数据信息。 隐私求交方案介绍 1. 基于DH的PSI方案 …

漏电保护器工作原理

漏电保护器 漏电保护器是低压线路中最常用的保护器之一,简称漏保,又称漏电开关或漏电断路器。漏电保护器除了具有空开的所有保护功能外,还具备漏电保护功能。 需要了解 一根通电导线可以产生磁场,磁场与电流方向遵循右手螺旋关…

[Linux] Linux入门必备的基本指令(不全你打我)

一:ls指令 语法 : ls [选项] [目录或文件] 功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 ls不带选项就是显示当前目录下存在的子目录和文件 常用选项: (1). ls -l 功能: 列出…

Vue3-toRaw 和 markRaw 函数

Vue3-toRaw 和 markRaw 函数 toRaw(转换为原始):将响应式对象转换为普通对象,只适用于 reactive 生成的响应式对象。markRaw(标记为原始):标记某个对象,让这个对象永远都不具备响应式。一些集成的第三方库,会有大量的…

【解决方案】基于边缘计算技术的安科瑞综合管廊能效管理平台

平台背景 综合管廊一般是建于城市地下用于容纳两类及以上城市工程管线的构筑物及附属设施,将电力、自来水、热力、煤气、电信、网络等市政公用管线根据规划要求集中敷设在同一个构建物内,实施统一设计、施工、管理的市政公用隧道空间,并且还…

短剧小程序开发,短剧视频火热程序

近期,短剧以其独特的魅力在快节奏、忙碌的生活中迅速走红。在匆忙等待食物间隙,或想放松身心的片刻,短句成为人们难得的片刻宁静。 短剧小程序应运而生,在这个小巧的应用中,汇聚了多部丰富多样的正版短剧,为…

ELK---filebeat日志收集工具

filebeat也是日志收集工具,和logstash相同。 filebeat的特点 filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源小的多。 filebeat可以运行在非java环境,他可以代替logstash在非java环境上收集日志 缺…

电脑如何定时关机?

电脑如何定时关机?我承认自己是个相当粗心的人,尤其是在急于离开时经常会忘记关闭电脑,结果就是电量耗尽,导致电脑自动关机。而且,在我使用电脑的时候,经常需要进行软件下载、更新等任务。如果我一直坐等任…

ArkTS-共享元素转场动画

共享元素转场动画 在不同页面间,有使用相同的元素(例如同一幅图)的场景,可以使用共享元素转场动画衔接。为了突出不同页面间相同元素的关联性,可为它们添加共享元素转场动画。如果相同元素在不同页面间的大小有明显差异…

零信任安全:远程浏览器隔离(RBI)的重要性

引言 在当今数字化时代,网络安全已成为个人和企业关注的焦点。随着网络攻击和恶意软件的不断增加,远程浏览器隔离(RBI)SAAS系统变得至关重要。本文将深入探讨远程浏览器隔离系统的重要性,以及它如何帮助用户保护其网络免受恶意软件和网络攻击…

【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件

思路 JS-DLL-WINCC-PLC之间进行交互,思路,先用Visual Studio创建一个C#的DLL控件,然后这个控件里面嵌入浏览器组件,实现JS与DLL通信,然后DLL放入到WINCC里面的图形编辑器中,实现DLL与WINCC的通信。然后PLC与…

台式机加独显引发的故事

弄到一块NVIDIA1660显卡,想要加到台式机,枯树逢春;中间引发不少事情,记录下来共勉 1.台式机插入显卡 1)拆开主机后部的接口片 2)显卡插入显卡巢,很内存条结构类似(长短布局&#xff…

zblog插件-zblog采集插件下载

在当今数字化的时代,博客已经成为人们分享思想、经验和知识的重要平台。而对于使用zblog博客系统的用户来说,充实博客内容是提高用户体验和吸引读者的不二法门。然而,手动收集内容对于博主来说既费时又繁琐。在这个背景下,zblog插…

线程为什么比进程的切换效率高

1.进程切换为什么比线程切换效率低呢? 进程都有自己的虚拟地址空间,把虚拟地址转换为物理地址需要查找页表,页表查找是一个很慢的过程,因此通常使用Cache来缓存常用的地址映射,这样可以加速页表查找,这个Cache就是TL…

【Cmake】Cmake基础学习

CMake学习 一、基础学习 1. 利用Cmake进行单个源代码构建可执行文件 (1)基础命令 最基本的 CMake项目是由单个源代码文件构建的可执行文件。对于这样的简单项目,只需要一个包含三个命令的 CMakeLists.txt 文件。 注意: 虽然 CMake 支持大写、小写和混合大小写命令,但是…

【Unity3D】MAX聚合广告SDK——Pangle广告接入(成了!成了!)

Pangle, App Monetization Simplified 注册 登录 创建应用 创建广告单元 将其应用ID和广告ID关联到MAX广告。 下载Pangle Unity Plugin包,新建一个空工程(很重要) Unity版本2019.4.0f1 gradle plugin 4.2.0 gradle版本6.7.1 build_tools 34.…