📄 sys.cpp
字号:
// DA恒定值输出的简单演示程序
// 本程序在可由用户选择0-3通道之输出指定的恒定电压值
#include "stdafx.h"
#include "conio.h"
#include "USB2814.h"
#define ESC 27
int main(int argc, char* argv[])
{
HANDLE hDevice; // 设备对象句柄
int DeviceID; // 设备号
BOOL bStatus; // 函数的返回值
int OutputRange; // DA输出量程选项值
char Key;
float fDAVolt; // DA输出的电压值
WORD nDAData; // nDALsb, 存放将电压值换算而成的LSB原码值
DeviceID = 0;
hDevice = USB2814_CreateDevice(DeviceID); // 创建设备对象
if(hDevice == INVALID_HANDLE_VALUE)
{
printf("Create Device Error...\n");
getch();
return 0;
}
printf("0. 0V ~ 5V\n");
printf("1. 0V ~ 10V\n");
printf("2. -5V ~ +5V\n");
printf("3. -10V ~ +10V\n");
printf("Please Select Output Range[0-3]:");
scanf("%d", &OutputRange); // 要求用户从键盘上输入DA量程选项
Repeat:
printf("Please Input DA Volt[mV]:");
scanf("%f", &fDAVolt); // 要求用户从键盘上输入DA的电压值
switch(OutputRange)
{
case USB2814_OUTPUT_0_P5000mV: // 0~5V
nDAData = (WORD)(fDAVolt / (5000.00/65536)); // 将DA电压值转换为原码值
break;
case USB2814_OUTPUT_0_P10000mV: // 0~10V
nDAData = (WORD)(fDAVolt / (10000.00/65536)); // 将DA电压值转换为原码值
break;
case USB2814_OUTPUT_N5000_P5000mV: // ±5V
nDAData = (WORD)(fDAVolt / (10000.00/65536) + 32767); // 将DA电压值转换为原码值
break;
case USB2814_OUTPUT_N10000_P10000mV: // ±10V
nDAData = (WORD)(fDAVolt / (20000.00/65536) + 32767); // 将DA电压值转换为原码值
break;
}
bStatus = USB2814_WriteDeviceDA(hDevice, nDAData); //输出恒定电压
if(bStatus)
{
printf("DA Output is OK, nDAData=%d\n", nDAData);
}
else
printf("USB2814_WriteDeviceDA is Error...\n");
printf("Press ESC to quit, other key to continue...\n");
Key = getch(); // 探测用户敲键动作,并取得按键值
if(Key != ESC) goto Repeat;
USB2814_ReleaseDevice( hDevice ); // 释放设备对象
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -