Stanford Research Systems SR810 Manual page 104

Dsp lock-in amplifier
Table of Contents

Advertisement

Remote Programming
printf("\n\n");
for (i=0;i<10;i++)
printf("%d %e\n",i,rfBuf[i]);
}
void printOutLIAResults(void)
{
/* calculates the first 10 values of R transferred in LIA float format by the SR810 */
int i,mant,exp;
int *ptr;
float val;
printf("\n\n");
ptr =(int *) rfBuf; /* ptr points to integers in rfBuf, not floats! */
for (i=0;i<10;i++)
mant = *ptr++;
exp = *ptr++ - 124;
val = (float) mant * (float) pow(2.0,(double) exp);
printf("%d %e\n",i,val);
}
}
void initGpib(char *devName)
{
if ((lia=ibfind(devName))<0) {
printf("\nCannot Find SR810 \n\a");
exit(1);
}
}
void txLia(char *str)
{
char serPol;
ibwrt(lia,str,strlen(str));
do {
ibrsp(lia,&serPol);
}
while ((serPol&2)==0); /* until the command finishes executing */
}
void setupLia(void)
{
txLia("*RST"); /* initialize the lock-in */
txLia("SRAT10; SEND0");
txLia("DDEF1,0;
printf("Scan is Initialized, Press <Enter> to Begin Scan...");
getch();
}
/* this is simple since the values are already IEEE floats */
{
/* first comes the mantissa (16 bits) */
/* then the binary exponent (16 bits) offset by 124 */
/* now poll for IFC RDY */
/* set 64 Hz sample rate, stop at end */
/* set CH1=R */
5-30

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents