优化网站公司价格是多少钱/重庆森林

优化网站公司价格是多少钱,重庆森林,淄博怎么做网站,阿里巴巴网站谁做的目录 1. SDK中的函数 2. API函数的释义 2.1 获取默认参数 2.2 初始化 2.3 启动与停止 2.4 计数值的设置于读取 2.5 中断API 1. SDK中的函数 在使用SDK的非抽象驱动函数时,函数的定义与声明在文件lpit_driver.c和lpit_driver.h中,一共有19个函数&a…

目录

1. SDK中的函数

2. API函数的释义

2.1 获取默认参数

2.2 初始化

2.3 启动与停止

2.4 计数值的设置于读取

2.5 中断API


1. SDK中的函数

        在使用SDK的非抽象驱动函数时,函数的定义与声明在文件lpit_driver.c和lpit_driver.h中,一共有19个函数:

void LPIT_DRV_GetDefaultConfig(lpit_user_config_t * const config);
void LPIT_DRV_GetDefaultChanConfig(lpit_user_channel_config_t * const config);
void LPIT_DRV_Init(uint32_t instance,const lpit_user_config_t * userConfig);
void LPIT_DRV_Deinit(uint32_t instance);
status_t LPIT_DRV_InitChannel(uint32_t instance,uint32_t channel,const lpit_user_channel_config_t * userChannelConfig);
void LPIT_DRV_StartTimerChannels(uint32_t instance,uint32_t mask);
void LPIT_DRV_StopTimerChannels(uint32_t instance,uint32_t mask);
status_t LPIT_DRV_SetTimerPeriodByUs(uint32_t instance,uint32_t channel,uint32_t periodUs);
status_t LPIT_DRV_SetTimerPeriodInDual16ModeByUs(uint32_t instance,uint32_t channel,uint16_t periodHigh,uint16_t periodLow);
uint64_t LPIT_DRV_GetTimerPeriodByUs(uint32_t instance,uint32_t channel);
uint64_t LPIT_DRV_GetCurrentTimerUs(uint32_t instance,uint32_t channel);void LPIT_DRV_SetTimerPeriodByCount(uint32_t instance,uint32_t channel,uint32_t count);
void LPIT_DRV_SetTimerPeriodInDual16ModeByCount(uint32_t instance,uint32_t channel,uint16_t periodHigh,uint16_t periodLow);
uint32_t LPIT_DRV_GetTimerPeriodByCount(uint32_t instance,uint32_t channel);
uint32_t LPIT_DRV_GetCurrentTimerCount(uint32_t instance,uint32_t channel);
void LPIT_DRV_EnableTimerChannelInterrupt(uint32_t instance,uint32_t mask);
uint32_t LPIT_DRV_GetInterruptFlagTimerChannels(uint32_t instance,uint32_t mask);
void LPIT_DRV_ClearInterruptFlagTimerChannels(uint32_t instance,uint32_t mask);

2. API函数的释义

2.1 获取默认参数

void LPIT_DRV_GetDefaultConfig(lpit_user_config_t * const config)

        获取默认的全局设置参数,获取的参数通过形参指针实现,具体的参数只有两个:是否使能debug模式下运行和是否使能在打盹模式下运行。

void LPIT_DRV_GetDefaultChanConfig(lpit_user_channel_config_t * const config)

        获取默认的通道参数,获取的参数通过形参指针实现,具体的参数与配置工具的通道设置参数类型一一对应。

        以上两个API函数笔者只是测试SDK库的默认参数时用了一次,平时使用率特别低。

2.2 初始化

void LPIT_DRV_Init(uint32_t instance,
                   const lpit_user_config_t *userConfig)

        初始化LPIT模块参数,参数正式通过配置工具生成的宏定义和初始化结构体,通过调用该API函数来设置模块的时钟、debug时的运行模式、打盹时的运行模式等。

void LPIT_DRV_Deinit(uint32_t instance)

        该API函数时用来禁止模块,如果想再次启用LPIT,则需要调用LPIT_DRV_Init。

status_t LPIT_DRV_InitChannel(uint32_t instance,uint32_t channel,const lpit_user_channel_config_t * userChannelConfig)

         初始化定时器通道,有关于通道的设置参数通过配置工具生成的结构体作为形参传递并设置。调用该API只是设置了通道的参数并不会启动定时器。如果想要启动通道定时器则需要调用LPIT_DRV_StartTimerChannels。如果想要更改计数周期则需要调用LPIT_DRV_SetTimerPeriodByUs或者LPIT_DRV_SetTimerPeriodByCount。

2.3 启动与停止

void LPIT_DRV_StartTimerChannels(uint32_t instance,uint32_t mask)

        该API的作用比较单纯,就是通过形参来选型具体通道和设置以启动通道计数器。

void LPIT_DRV_StopTimerChannels(uint32_t instance,uint32_t mask)

        停止通道计数器,如果是脉冲累加模式,当有脉冲来临时会加载初值。

2.4 计数值的设置于读取

status_t LPIT_DRV_SetTimerPeriodByUs(uint32_t instance,uint32_t channel,uint32_t periodUs)

         设置定时器的周期计数值,单位为微妙。此处需要注意计数值溢出的问题,需要用户自己计算好,此函数只能作用于单个通道。

status_t LPIT_DRV_SetTimerPeriodInDual16ModeByUs(uint32_t instance,uint32_t channel,uint16_t periodHigh,uint16_t periodLow)

        设置定时器通道处于双16位周期计数器模式时的周期值,单位为微秒。同样需要注意溢出问题。 

uint64_t LPIT_DRV_GetTimerPeriodByUs(uint32_t instance,uint32_t channel)

         获取定时器的周期值,单位为微秒。如果定时器通道的操作模式为 32 位周期计数器或双 16 位周期计数器,那么这里返回的周期是有意义的。

uint64_t LPIT_DRV_GetCurrentTimerUs(uint32_t instance,uint32_t channel)

获取当前计时器通道以微秒为单位的计数值。

  • 此函数以微秒为单位返回一个绝对时间戳。
  • 此函数的一个常见用途是测量一段代码的运行时间。在代码的开头和结尾调用此函数。这两个时间戳之间的时间差即为运行时间。
  • 只有当计时器通道的操作模式为 32 位周期计数器或双 16 位周期计数器或 32 位触发输入捕获时,此处返回的计数值才有意义。
  • 需要确保运行时间不会超过计时器通道周期。
void LPIT_DRV_SetTimerPeriodByCount(uint32_t instance,uint32_t channel,uint32_t count)

        以计数单位设置定时器通道周期。

  • 此函数以计数单位设置定时器通道周期。
  • 正在运行的定时器通道的计数器周期可以通过先设置一个新的加载值来修改,该值将在定时器通道到期后加载。
  • 要中止当前周期并以新值启动定时器通道周期,必须先禁用然后再启用定时器通道。
void LPIT_DRV_SetTimerPeriodInDual16ModeByCount(uint32_t instance,uint32_t channel,uint16_t periodHigh,uint16_t periodLow)

        以计数单位设置定时器通道周期。

  • 此函数在定时器通道模式为双 16 周期计数器模式时,以计数单位设置定时器通道周期。
  • 正在运行的定时器通道的计数器周期可以通过首先设置新的加载值来修改,该值将在定时器通道到期后加载。
  • 要中止当前周期并以新值启动定时器通道周期,必须先禁用然后再次启用定时器通道。
uint32_t LPIT_DRV_GetTimerPeriodByCount(uint32_t instance,uint32_t channel)

        获取通道的周期计数值。

uint32_t LPIT_DRV_GetCurrentTimerCount(uint32_t instance,uint32_t channel)

        获取当前计时器通道的计数值(以计数为单位)。此函数返回实时计时器通道的计数值,该值的范围为 0 到计时器通道周期。 • 需要确保运行时间不超过计时器通道周期。 

2.5 中断API

void LPIT_DRV_EnableTimerChannelInterrupt(uint32_t instance,uint32_t mask)

         使能通道的溢出中断,支持与或操作,如下:

 *      - with mask = 0x01u then the interrupt of channel 0 will be enabled
 *      - with mask = 0x02u then the interrupt of channel 1 will be enabled
 *      - with mask = 0x03u then the interrupt of channel 0 and channel 1 will be enabled

void LPIT_DRV_DisableTimerChannelInterrupt(uint32_t instance,uint32_t mask)

        禁用通道的溢出中断,支持与或操作,如下:

 *      - with mask = 0x01u then the interrupt of channel 0 will be disable
 *      - with mask = 0x02u then the interrupt of channel 1 will be disable
 *      - with mask = 0x03u then the interrupt of channel 0 and channel 1 will be disable

uint32_t LPIT_DRV_GetInterruptFlagTimerChannels(uint32_t instance,uint32_t mask)

         获取通道中断标志位的状态,参数1是通道的示例号,在配置工具生成的h文件中定义,另一个是寄存器的位域,这个要查看用户手册。

void LPIT_DRV_ClearInterruptFlagTimerChannels(uint32_t instance,uint32_t mask)

         清除通道的中断标志位,参数1是通道的示例号,在配置工具生成的h文件中定义,另一个是寄存器的位域,这个要查看用户手册。

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

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

相关文章

CSS - Pseudo-classes(伪类选择器)

目录 一、介绍二、常用种类三、案例实现案例一:a标签使用link/visited/hover/active案例二:表单元素使用focus/disabled案例三、通过其余伪类实现元素灵活选中 一、介绍 CSS 伪类(Pseudo-classes) 用于定义元素的特定状态或结构位…

Ubuntu22.04虚拟机里安装Yolov8流程

1. 安装pytorch sudo apt install nvidia-cuda-toolkit nvcc --version # 官方适配地址:https://download.pytorch.org/whl/torch/import torch print(torch.__version__) print(torch.cuda.is_available())2. 安装环境 # cuDNN 安装:https://develop…

Spring 声明式事务管理

Spring 编程的方式实现事务管理,这样太过麻烦,需要在每个方法上面加上相应的事务处理操作,声明式事务处理能够很好的解决这个问题,比如通过tx命名空间,这样只需要配置就可以检测到相关的方法,或者是通过tra…

Chat2DB:让数据库管理像聊天一样简单

数据库工具的痛点与破局 在数据爆炸的时代,数据库管理工具已成为企业高效运营的刚需。然而,传统工具如Navicat、DBeaver虽功能强大,却让非技术人员和SQL新手望而却步。复杂的界面、繁琐的手动操作、晦涩的语法规则,成为横亘在数据…

Navicat for Snowflake 震撼首发,激活数据仓库管理全新动能

近日,Navicat 家族迎来了一位全新成员 — Navicat for Snowflake。Snowflake 是一款基于云架构的现代数据仓库解决方案,以其弹性扩展、高性能和易用性著称。这次首发的Navicat for Snowflake 专为简化 Snowflake 数据库管理任务而精心打造。它凭借其直观…

【项目合集】智能语音小车-微信小程序控制

功能需求: 车子检测环境温度、湿度,上报 APP、WEB 端显示实时数据可通过 APP 控制小车前进、左转、右转可通过语音控制小车前进后退车上一个 LED 灯,可通过 WEB、小程序控制在 APP、WEB 上均可注册登录 硬件清单 硬件 功能 备注 ESP32 …

人工智能与人的智能,改变一生的思维模型分享【4】决策树

决策树( DECISION TREE) 一般由一个决策图和若干可能的结果组成。是一种通过罗列解题的关键步骤以及各步骤发生的条件和结果,由此来创建到达目标的规划。 我们很早就知道有一个方法,叫做当你苦闷、纠结的时候,把你的所…

利用余弦相似度在大量文章中找出抄袭的文章

我前面的2篇文章分别讲了如果利用余弦相似度来判断2篇文章的相似度,来确定文章是否存在抄袭,和余弦相似度的原理,即余弦相似度到底是怎么来判断文章的相似性高低的等等。这一篇再说下,对于文章字数多和大量文章时,如果…

设计模式-对象创建

对象创建 前言1. Factory Method1.1 模式介绍1.2 模式代码1.2.1 问题代码1.2.2 重构代码 1.3 模式类图1.4 要点总结 2. Abstract Factory2.1 模式介绍2.2 模式代码2.2.1 问题代码2.2.2 重构代码 2.3 模式类图2.4 要点总结 3. Prototype3.1 模式介绍3.2 模式代码3.3 模式类图3.4…

SQLAlchemy系列教程:批量插入数据

高效地批量插入数据对于应用程序的性能至关重要。SQLAlchemy为批处理操作提供了几种机制,可以最大限度地减少开销并加快数据库事务时间。在本指南中,我们将探讨如何使用SQLAlchemy执行批量插入,包括从基础技术到高级技术。 搭建环境 在开始之…

openEuler系统迁移 Docker 数据目录到 /home,解决Docker 临时文件占用大问题

根据错误信息 write /var/lib/docker/tmp/...: no space left on device,问题的根源是 根分区(/)的磁盘空间不足,而非 /home 分区的问题。以下是详细解释和解决方案: 问题原因分析 Docker 临时文件占用根分区空间&…

Matlab 四分之一车辆被动悬架和模糊pid控制对比

1、内容简介 Matlab 183-四分之一车辆被动悬架和模糊pid控制对比 可以交流、咨询、答疑 2、内容说明 略 3.1 车辆多自由度模型建立 对于车辆动力学,一般都是研究其悬架系统,悬架系统由轮胎,轮胎空气,弹簧,减震器和…

LabVIEW旋转设备状态在线监测系统

为了提高大型旋转设备如电机和水泵的监控效率和故障诊断能力,用LabVIEW软件开发了一套实时监测与故障诊断系统。该系统集成了趋势分析、振动数据处理等多项功能,可实时分析电机电流、压力、温度及振动数据,以早期识别和预报故障。 ​ 项目背…

跟网型逆变器小干扰稳定性分析与控制策略优化simulink仿真模型和代码(包含完整仿真报告)

关注:“电击小子程高兴的MATLAB小屋”获取巨额优惠 1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2016Rb)软件。建议采用matlab2016 Rb及以上版本打开。(若需要其他版本可联系代为转换) 近年来&#xff0c…

基于SpringBoot的“城市公交查询系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“城市公交查询系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 系统首页界面 用户登录界面 公…

框架源码私享笔记(02)Mybatis核心框架原理 | 一条SQL透析核心组件功能特性

最近在思考一个问题:如何能够更好的分享主流框架源码学习笔记(主要是源码部分)?让有缘刷到的同学既可以有所收获,还能保持对相关技术架构探讨学习热情和兴趣。以及自己也保持较高的分享热情和动力。 今天尝试用一个SQL查询作为引…

windows协议不再续签,华为再无windows可用,将于四月发布鸿蒙PC

大家好,我是国货系创始人张云泽,最近不少小伙伴在后台问:“听说Windows协议要到期了?我的电脑会不会变砖?”还有人说:“华为笔记本以后用不了Windows了?鸿蒙系统能用吗?”今天咱们就…

关于Redis的集群(上)

目录 基本概念 数据分片算法 哈希求余 ​编辑一致性哈希算法 哈希槽分区算法 搭建集群环境 创建目录和配置 编写 docker-compose.yml 启动容器 构建集群 基本概念 广义的集群,只要是多个机器构成了分布式系统,都可以成为是一个“集群”。 但…

【CSS3】化神篇

目录 平面转换平移旋转改变旋转原点多重转换缩放倾斜 渐变线性渐变径向渐变 空间转换平移视距旋转立体呈现缩放 动画使现步骤animation 复合属性animation 属性拆分逐帧动画多组动画 平面转换 作用:为元素添加动态效果,一般与过渡配合使用 概念&#x…

Java 线程创建全解析:五种方式详细对比与实战示例

目录 Java 线程创建全解析:五种方式详细对比与实战示例一、引言二、创建线程的五种方式1. 继承 Thread 类2. 实现 Runnable 接口3. 匿名内部类实现 Thread4. 匿名内部类实现 Runnable5. 使用 Lambda 表达式(Java 8及以上) 三、线程创建方式对…