第三代测试机编程手册  1.0
载入中...
搜索中...
未找到
example_dps.c

该实例介绍了如何使用DPS模块进行电流与电压的输出, 以及读取电流电压

1
6#include "lpxsdk.h"
7
8//DPS模块使用的一般流程
9void example_dps(void)
10{
11 //输出值
12 DPS_SetOut(DPS_CH0, DPS_MODE_FVCI, 0, DPS_FACTOR_5V, DPS_FACTOR_10mA); //使用该函数内部自动使用 DPS_Enable() 所以无需手动调用
13 DPS_SetClamp(DPS_CH0, -1, 1); //该函数和 DPS_SetOut 的调用前后顺序无关. 如果钳位不变,可以只设置一次.
14
15 //读电压
16 // DPS_ReadVoltmeter 和 DPS_ReadAmmeterStatic 都是读取电压值
17 // DPS_ReadVoltmeter内部无延时,但是电压稳定可能慢一点.
18 // DPS_ReadAmmeterStatic内部有延时,但是电压稳定可能快一点.可以只使用该函数
19 float vol = DPS_ReadVoltmeter(DPS_CH0, VUNIT_MV); // 读取一个单位为mV的电压值
20 float vol_static = DPS_ReadVoltmeterStatic(DPS_CH0, VUNIT_MV); // 读取一个单位为mV的电压值
21
22 //读电流
23 // DPS_ReadAmmeter 和 DPS_ReadAmmeterStatic 都是读取电流值
24 // DPS_ReadAmmeter内部无延时,但是电流稳定可能慢一点.
25 // DPS_ReadAmmeterStatic内部有延时,但是电流稳定可能快一点.可以只使用该函数
26 float cur = DPS_ReadAmmeter(DPS_CH0, IUNIT_UA); // 读取一个单位为uA的电流值
27 float cur_static = DPS_ReadAmmeterStatic(DPS_CH0, IUNIT_UA); // 读取一个单位为uA的电流值
28
29 //断开DPS
30 DPS_Disable(DPS_CH0); //使DPS输出脚浮空, 内部3ms延时, 会使DPS切换到FVCI模式输出值为0V
31 DPS_SetFloat(DPS_CH0); //仅设置DPS为浮空, 不会使DPS切换到FVCI模式输出值为0V
32}
33
34
35
void DPS_SetFloat(uint8_t ch)
使DPS输出引脚浮空
float DPS_ReadVoltmeterStatic(uint8_t ch, uint8_t unit)
精度更高的方式读取DPS的电压值, 内置750us延时
void DPS_SetOut(uint8_t ch, uint8_t mode, float set_mv_ua, uint8_t rangeV, uint8_t rangeI)
设置DPS输出值, 模式, 档位. 内置DPS_Enable功能.
void DPS_SetClamp(uint8_t ch, float clamplRatio, float clamphRatio)
设置DPS钳位
float DPS_ReadAmmeterStatic(uint8_t ch, uint8_t unit)
精度更高的方式读取DPS的电流值, 内置750us延时
void DPS_Disable(uint8_t ch)
设置DPS输出端口浮空,并未输出电压设置到0
float DPS_ReadVoltmeter(uint8_t ch, uint8_t unit)
DPS读取电压表的值
float DPS_ReadAmmeter(uint8_t ch, uint8_t unit)
DPS读取电流表的值