stm32低功耗定时器lptimer在djyos下的应用

2023-05-16


    djyos的tickless模式配合低功耗模块可以支持传感器之类功耗要求极端苛刻的应用,djyos的系统时基如果能用stm32的lptimer来提供,堪称妙绝,APP就可以做到完全不用操心功耗,节省功耗这种操作,完全交给djyos去做。
    STM32的低功耗定时器可以在系统处于低功耗模式下将其唤醒,只有它和RTC可以做到这一点,
在调试该定时器的比较寄存器时出现以下问题:
根据手册上描述,当设置完比较寄存器CMP的值时,必须等CMPOK标志位被置位后才能再次设置CMP的值,
其标志位位于ISR寄存器中,固有以下代码:
    LPTIM1->CMP = temp;
    while(!(LPTIM1->ISR & LPTIM_ISR_CMPOK));
在等待CMPOK被置位后,需要清该位,否则下次进来该位还是1,起不到指示作用,所以有以下语句:
    LPTIM1->CMP = temp;
    while(!(LPTIM1->ISR & LPTIM_ISR_CMPOK));
    LPTIM1->ICR |= (LPTIM_ICR_CMPOKCF);
    但是这样写的时候当程序第二次进入此处运行时会一直死在while(!(LPTIM1->ISR & LPTIM_ISR_CMPOK));上,
经测试发现LPTIM1->ICR |= (LPTIM_ICR_CMPOKCF);不能当标志位一置位就立马清,否则会出错,下面程序经测试不会出错:
    if((LPTIM1->ISR & LPTIM_ISR_CMPOK))
        LPTIM1->ICR |= (LPTIM_ICR_CMPOKCF);
    LPTIM1->CMP = temp;
    while(!(LPTIM1->ISR & LPTIM_ISR_CMPOK));
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

stm32低功耗定时器lptimer在djyos下的应用 的相关文章

  • 如何让printf在STM32F103上工作?

    我是 STM32F103 世界的新手 我有一个STM32F103的演示代码 我正在使用arm none eabi来编译它 我尝试了在谷歌上可以找到的内容 但到目前为止没有任何效果 我已经花了三天时间来解决这个问题 任何人都可以给我一个运行良
  • 当数据大小较小时,内存到内存 DMA 传输是否需要权衡?

    我正在学习 STM32 F4 微控制器 我正在尝试找出使用 DMA 的限制 根据我的理解和研究 我知道如果数据量较小 即设备使用DMA生成或消耗少量数据 则开销会增加 因为DMA传输需要DMA控制器执行操作 从而不必要地增加系统成本 我做了
  • 135-基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真+源程序

    资料编号 135 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 电机 超声波传感器 制作一个基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真 2 通过DHT11传感器检测当前
  • rt-thread studio中新建5.02版本报错

    先吐槽一下 rt thread studio出现BUG真多 好多时间都是在找BUG 但里面用好多控件还是挺好用的 真是又爱又恨 所以一般使用功能不多的话还是用keil多一点 创建5 02版本工程之后直接进行编译 直接会报下面这个错误 资源
  • rt-thread studio中新建5.0不能用

    文章目录 一 版本对比 二 文件和文件夹打斜杠 在使用RT Thread studio创建新工程5 0版本的时候 结果发现新建完成之后程序不能正常运行 但是创建4 10版本的时候却能运行 那肯定是新版本出现了BUG 一 版本对比 首先对比了
  • Push_back() 导致程序在进入 main() 之前停止

    我正在为我的 STM32F3 Discovery 板使用 C 进行开发 并使用 std deque 作为队列 在尝试调试我的代码 直接在带有 ST link 的设备上或在模拟器中 后 代码最终在 main 中输入我的代码之前在断点处停止 然
  • STM32F103

    提示 来源正点原子 参考STM32F103 战舰开发指南V1 3PDF资料 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 开发环境硬件普中科技 接线图在g
  • HAL 锁定和解锁函数如何使用以及为什么?

    我试图理解另一位程序员编写的代码 它使用了I C http en wikipedia org wiki I C2 B2C通信以将数据写入 STM32 微控制器的 EEPROM 一般来说 我理解他的代码是如何工作的 但我不明白他为什么使用HA
  • 解决KEIL编译慢问题

    两种方案 使用v6版本的ARM Compiler 如果v6版本编译不过 必须使用v5版本的 则可以勾选掉Browse Information选项 提升很明显 1分多钟能优化到几秒 看代码量 但是这个有个弊端 在KEIL中会影响函数跳转 建议
  • 解决KEIL编译慢问题

    两种方案 使用v6版本的ARM Compiler 如果v6版本编译不过 必须使用v5版本的 则可以勾选掉Browse Information选项 提升很明显 1分多钟能优化到几秒 看代码量 但是这个有个弊端 在KEIL中会影响函数跳转 建议
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 最终启动顺序错误 - STM32L476 的 Eclipse System Workbench 调试

    我正在尝试调试和运行 STM32L476 的简单汇编代码 我已经设置了 Eclipse Oxygen 在 Eclipse 中安装了最新版本的 System Workbench 插件并安装了 ST Link 驱动程序 IDE 成功构建了程序
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • 无法使用 OpenOCD 找到脚本文件

    我正在尝试按照本教程将 OpenOCD 与我的 ST 发现板一起使用 https japaric github io discovery README html https japaric github io discovery READM
  • STM32H5 Nucleo-144 board开箱

    文章目录 开发板资料下载 目标 点亮LD1 绿 LD2 黄 和LD3 红 三个LED灯 开箱过程 博主使用的是STM32CubeMX配置生成代码 具体操作如下 打开STM32CubeMX File gt New project 选择开发板型
  • 使用 STM32 USB 设备库将闪存作为大容量存储设备

    我的板上有这个闪存IC 它连接到我的STM32F04 ARM处理器 处理器的USB端口可供用户使用 我希望我的闪存在通过 USB 连接到 PC 时被检测为存储设备 作为第一步 我在程序中将 USB 类定义为 MSC 效果很好 因为当我将主板
  • 当端点和 PMA 地址均更改时,CubeMX 生成的 USB HID 设备发送错误数据

    我正在调试我正在创建的复合设备的问题 并在新生成的仅 CubeMX 代码中重新创建了该问题 以使其更容易解决 我添加了少量代码main 让我发送 USB HID 鼠标点击 并在按下蓝色按钮时使 LED 闪烁 uint8 t click re
  • stm32l0: 执行MI命令失败。使用 vFlashErase 数据包擦除闪存时出错

    我正在使用 Nucleo STM32L031 和 AC6 STM32 工作台 eclipse 我编写应用程序并进入调试模式 一切正常 直到我在应用程序中添加另一个功能 我注意到当我删除 评论 新函数 软件可以再次进入调试模式 但是当我添加

随机推荐

  • 串口编程3:使用串口读取GPS信息

    关于GPS的使用 xff0c 参考 本文主要参考的博客 xff0c 在此表示感谢 xff01 xff01 xff01 主函数 主函数gps main c xff0c 这里便涉及到了串口的打开 xff0c 读操作 xff0c 以及调用了串口设
  • 基于单片机语音智能导盲仪仿真设计-毕设课设资料

    资料下载地址 1110 xff08 百度网盘 xff09 xff1a 点击下载 包含超声波传感器检测障碍物 xff0c 温度传感器检测当前温度 可以通过按键设置距离报警范围 xff0c 报警装置通过声光报警 包含的电路有电源电路 显示电路
  • 宏定义详解

    宏定义有无参数宏定义和带参数宏定义两种 无参数的宏定义的一般形式为 define 标识符 字符序列 其中 define之后的标识符称为宏定义名 简称宏名 xff0c 要求宏名与字符序列之间用空格符分隔 这种宏定义要求编译预处理程序将源程序中
  • 一个无线鼠标的HID Report Desc

    HID设备是USB规范定义的设备类型之一 xff0c 其分类号为0x03 关于USB设备类型定义 xff0c 可参见本站 xff1a USB设备类型定义 USB中文网 HID设备除了用于专门的输入输出设备外 xff0c 有时也与其它的设备类
  • 虚拟机的三种网络连接方式

    1 NAT模式 xff1a 用于共享主机的IP地址 安装完VMware后在本地网络连接里会虚拟出两块网卡 xff08 VMnet1 xff0c VMnet8 xff09 如果选择的是NAT模式 xff0c 则会使用VMnet8这块网卡来和虚
  • 全局变量不能放在头文件当中

    看网上各种说法说 变量的声明和变量的定义 xff0c 但是还是没有讲清楚什么是声明什么是定义 xff0c 如果说定义要分配内存 xff0c 声明不分配 xff0c 这个谁都知道 刚我在VS2012中测试 xff1b 按理说 int i xf
  • 使用strcat连接字符串

    include lt iostream gt using namespace std int main int argc char argv char str1 61 34 hello 34 char str2 61 34 china 34
  • 单片机学习笔记————51单片机实现常用的自定义串口通讯协议

    proteus虚拟串口的实现 xff1a https mp csdn net console editor html 107251649 一 使用proteus绘制简单的电路图 xff0c 用于后续仿真 二 编写程序 64 Project
  • Uart串口收发回环验证

    Uart串口收发回环验证 接受模块发送模块波特率设置模块顶层模块TBModelsim仿真结果板级验证总结 本次所做的项目比较复杂 xff08 对我本人来讲 xff09 xff0c 设计一个Uart IP核 xff0c 在其基础 xff0c
  • C++ vector的用法(整理)

    vector 是向量类型 xff0c 它可以容纳许多类型的数据 xff0c 如若干个整数 xff0c 所以称其为容器 vector 是C 43 43 STL的一个重要成员 xff0c 使用它时需要包含头文件 xff1a include lt
  • 示波器的使用

    示波器的使用 在家电维修的过程中使用示波器已十分普遍 通过示波器可以直观地观察被测电路的波形 xff0c 包括形状 幅度 频率 xff08 周期 xff09 相位 xff0c 还可以对两个波形进行比较 xff0c 从而迅速 准确地找到故障原
  • 谈谈嵌入式系统的可靠性和安全性

    这里谈的安全性 xff0c 跟通用计算机所说的网络安全性不是一个概念 xff0c 网络安全性指的是数据不被人为破坏和窃取 xff0c 计算机不被恶意控制 而这里谈的安全性 xff0c 指的是设备安全 xff0c 例如自动化生产线不夹断工人手
  • 裸奔和rtos下开发的差异分析

    嵌入式设备网络化 u盘化 功能复杂化的趋势 xff0c 使越来越多的 过去可以用裸奔实现的嵌入式产品 xff0c 产生了应用操作系统的需求 而人力成本的持续上升 芯片成本的连续下降 xff0c 以及cpu性能的迅速提高 xff0c 又为大面
  • “全员编程,广泛嵌入”(六)—— 物联网时代(四)

    物联网操作系统是个伪命题 xff0c 很多人炒物联网概念 xff0c 炒物联网操作系统 xff0c 其实 xff0c 物联网操作系统 xff0c 与其说是一个技术概念 xff0c 还不如说是一个商业概念 这也无可厚非 xff0c 你不炒 x
  • 高通Qualcomm处理器的手机或设备进EDL 9008模式的办法

    适用于变砖的设备 由于我们有很多基于 Qualcomm 的设备 xff0c 其中一些设备可能会古怪地猜测如何进入 EDL 模式 xff0c 或者如何正确进入 例如 xff0c 对于 Alcatel xff0c 您必须先按住两个音量键 xff
  • 远程桌面能解决物联网和智能硬件的什么问题

    前几篇 xff0c 讲了许多远程桌面的功能和应用 xff0c 但还是有不少网友不明白 xff0c 在QQ上跟我讨论 xff0c 在物联网和智能硬件方面 xff0c 究竟能解决什么问题 智能硬件发展这么多年 xff0c 总是雷声大雨点小 xf
  • 物联网技术上面临的基本问题和操作系统设计

    时下 xff0c 在操作系统界 xff0c 有一个热得发紫的名词 物联网操作系统 xff0c 但物联网和操作系统究竟是什么关系 xff0c 物联网将面临什么问题 xff0c 操作系统又能为其解决什么问题呢 xff1f 操作系统和其他电子产品
  • Duktape:一个新的小巧的超精简可嵌入式JavaScript引擎

    原文链接 xff1a http ourjs com detail duktape E4 B8 80 E4 B8 AA E6 96 B0 E7 9A 84 E5 B0 8F E5 B7 A7 E7 9A 84 E8 B6 85 E7 B2 B
  • 解析物联网三大实时协议

    解析物联网三大实时协议 2015 08 25 国家物联网标识管理公共服务平台 实时通信技术作为一项根本性前提 xff0c 在物联网应用程序的开发工作中扮演着核心角色 想象一下 xff0c 如果我们能够利用手机与家居环境内的各种小装置进行通信
  • stm32低功耗定时器lptimer在djyos下的应用

    djyos的tickless模式配合低功耗模块可以支持传感器之类功耗要求极端苛刻的应用 xff0c djyos的系统时基如果能用stm32的lptimer来提供 xff0c 堪称妙绝 xff0c APP就可以做到完全不用操心功耗 xff0c