当前位置: 首页 > news >正文

Z20K118库中寄存器及其库函数封装-ADC库

1.ADC控制寄存器

7个位域。 

1-1 

void ADC_SoftwareReset(ADC_ID_t adcId)

ADC软件复位。 1个位域。该位RST专门用于本函数的软件复位,软件置1ADC会一直保持复位状态,直至软件置0。

1-2      

void ADC_Init(ADC_ID_t adcId, const ADC_Config_t* adcConfigSet)

 初始化ADC.1个。还有5个CFG寄存器的位域。本寄存器:1.普通模式(软件)/触发模式(TMU)CFG寄存器:1.外部参考电压/VDD和VCC参考电压 2.分辨率,8位/10位/12位。3.单次转换/连续转换 4.输出值平均次数,1/4/8/16/32次。5.采样时间设置,为32位数值,不得小于500ns。

1-3

void ADC_ResetLoopMode(ADC_ID_t adcId)

结束循环模式的循环,1个位域。 

1-4 

void ADC_Enable(ADC_ID_t adcId)

使能ADC。1个。 

1-5

void ADC_Disable(ADC_ID_t adcId)

失能ADC。1个。  

1-6

void ADC_DozeControl(ADC_ID_t adcId, ControlState_t cmd)

使能ADC的DOZEN模式。1个位域。DOZE模式即低功耗运行模式,当CPU进入低功耗休眠状态(DOZE MODE)允许ADC继续运行。 

2.ADC配置信息寄存器 

9个位域。 

2-1

void ADC_Init(ADC_ID_t adcId, const ADC_Config_t* adcConfigSet)

即1-2。

2-2

void ADC_ChannelConfig(ADC_ID_t adcId, const ADC_ChannelConfig_t* channelConfig)

通道配置和选择。3个位域。1.是否开启差分模式 2,。通道P选择 3.通道N选择(开启差分)。 

3.ADC命令缓冲寄存器

 

3-1

void ADC_TDGTriggerConfig(ADC_ID_t adcId, const ADC_TDGTriggerConfig_t* triggerConfig)

配置触发模式为循环模式或映射模式,并将BUFF缓冲寄存器与对应通道连接。若为循环模式,则6个BUFF需与TDG的trig0的通道连接,若为映射模式则BUFF和TDG对应的trig通道连接,且转换结果会推入到FIFIO中。

4.ADC比较寄存器 

2个位域。分别为CVL和CVH的值, 即比较电压的低值和高值,输出电压与这些值比较满足配置的条件后产生中断或DMA请求。

4-1 

void ADC_CompareConfig(ADC_ID_t adcId, const ADC_CompareConfig_t* compareConfig)

配置比较方式和比较值。CFG1个:1.配置输出和比较器的比较并产生中断或DMA的方式(a.关闭比较器 b.低于CVL触发 c.高于CVL触发 d.等于CVL触发 e.在CVL和CVH之间触发 f.超出CVL和CVH触发) CV2个:CVL和CVH的值配置。

  

 

 5.ADC参数寄存器 

1个。即FIFO的配置容量大小。 

 5-1

uint32_t ADC_GetFifoSize(ADC_ID_t adcId)

返回FIFO的配置容量大小。1个。 

 

 6.ADC_FIFO配置寄存器

3个。1.为已存入字节数,只读。 2.FIFO水位,即触发中断/DMA时的存入字节数。 3.配置FIFO的容量字节数。 FIFO(先入先出)在存入数据满时会拒绝新数据的传入。

6-1

void ADC_FifoDepthRedefine(ADC_ID_t adcId, uint8_t fifoDepth)

 配置FIFO的容量字节数。 1个。

6-2

void ADC_FifoWatermarkConfig(ADC_ID_t adcId, uint8_t fwmark)

 FIFO水位,即触发中断/DMA时的存入字节数。1个。

6-3

uint32_t ADC_GetNumOfFifoData(ADC_ID_t adcId)

读取FIFO已存入字节数。1个。 

7.ADC中断使能寄存器

6个。FIFO水位中断、FIFO溢出中断、 触发完成中断、电压比较器中断、FIFO水位DMA、触发冲突错误中断使能。

7-1

void ADC_DmaRequestCmd(ADC_ID_t adcId, ControlState_t cmd)

FIFO水位DMA使能。1个。

7-2

void ADC_IntMask(ADC_ID_t adcId, ADC_INT_t intType, IntMask_t intMask)

中断屏蔽,即使能对应中断。 5个。

 

8.ADC软件触发寄存器

1个,置1触发ADC转换。

8-1

void ADC_SoftwareTrigger(ADC_ID_t adcId)

软件触发ADC,置1触发ADC转换。1个。

9.ADC数据寄存器

 1个。ADC转换的转换结果和对应的通道号。

9-1

uint32_t ADC_GetConversionResult(ADC_ID_t adcId)

 1个。获取ADC转换的转换结果和对应的通道号。

10.ADC状态寄存器

10个。 FIFO水位状态、溢出状态、ADC完成转换中断、比较器中断、DMA请求中断、FIFO准备就绪、校验准备就绪、ADC空闲、ADC循环状态机返回空闲、ADC触发错误状态。

10-1

FlagStatus_t ADC_GetStatus(ADC_ID_t adcId, ADC_Status_t statusType)

获取ADC对应状态。10个。

10-2

void ADC_IntClear(ADC_ID_t adcId, ADC_INT_t intType)

清除对应中断的状态标志位。 5个。

10-3

FlagStatus_t ADC_GetIntStatus(ADC_ID_t adcId, ADC_INT_t intType)

获取对应中断的状态标志位。 5个。 

 

11.ADC校验值寄存器

1个。ADC自校验的校验值。无相关封装函数。 

 

X:通用函数

void ADC_InstallCallBackFunc(ADC_ID_t adcId, ADC_INT_t intType, isr_cb_t * cbFun)
void ADC0_DriverIRQHandler(void);
static void ADC_IntHandler(ADC_ID_t adcId);

http://www.lryc.cn/news/610907.html

相关文章:

  • Linux操作系统从入门到实战(十三)版本控制器Git基础概念讲解
  • 自抗扰ADCR--跟踪微分器的作用
  • sqli-labs通关笔记-第32关 GET宽字符注入(单引号闭合 手工注入+脚本注入两种方法)
  • Android 中几种常用布局的优缺点
  • 如何在nuxt项目中使用scss
  • 自动驾驶中的传感器技术24——Camera(15)
  • AI智能体的安全困境:防护机制与伦理平衡的艺术
  • PostgreSQL bytea 类型的大小限制
  • fastgpt本地运行起来的 服务配置
  • SELinux加固Linux安全
  • 基于Django的计算机资源爬虫及可视化系统的设计与实现
  • 开源密码恢复实用程序 Hashcat 7.0.0 发布
  • 最新安卓原生对接苹果cms App后端+app(最新优化版)
  • QML开发:QML的第一个程序
  • echarts在前后端分离项目中的实践与应用
  • C# --- 本地缓存失效形成缓存击穿触发限流
  • RHCA04--系统模块管理与资源限制
  • 武汉火影数字:VR大空间在文旅产业的创新应用
  • TDengine 中 TDgpt 的模型评估工具
  • VR眼动追踪技术帮助医生更快速确认大脑神经损伤与疾病
  • 与功能包相关的指令ros2 pkg
  • Reading Books(Sorting and Searching)
  • 工作相关: 预刷真值与人工标注的真值之间的关系 以及 真值与原始数据的关系,
  • Node.js高并发下的内存泄漏排查与解决实录
  • postman接口测试实战
  • 前端性能测试:从工具到实战全解析
  • 奇偶校验码原理与FPGA实现
  • Z20K118库中寄存器及其库函数封装-CLOCK库
  • 通信算法之298: verilog语法generate和for介绍
  • 【学习笔记】FTP库函数学习