Sending Commands in BASIC to ADR Interfaces

OPENING A SERIAL FILE

Sending commands to the ADR101 or any other ADR interface using a terminal or computer running a terminal emulation program is simply a matter of typing in commands and pressing  return. With BASIC it can be just as simple. The ADR101 is connected to the computer via a serial cable and BASIC treats the ADR101 as a serial file. Before commands can be sent to the ADR101 this serial file must be opened and initialized. This should be done at the start of any program that is to access the ADR101.The command to open a serial file is shown below;

10 OPEN "COM1:9600,n,8,1,CS,DS,RS" AS#1

This line opens a serial file and labels it as serial file #1. This allows access to the ADR101 using PRINT#1 and INPUT#1 commands.

 

SENDING COMMANDS

Sending commands in BASIC to the ADR101 can be done using PRINT#1 commands. For example, sending an RA0 command could be done as shown below;

20 PRINT#1, "RA0"

Extra spaces inside the quotes are ignored by the ADR101. Avoid sending commands on consecutive lines because a carriage return is not sent after the first command resulting in an unrecognized command. This problem arises with the configuring of a digital port and then trying to access the port immediatly after it is configured. A REM statement should be inserted between consecutive PRINT#1 commands as shown below;

20 PRINT#1, "CPA00000000"
30 REM FORCES 
40 PRINT#1, "SETPA0"
          

Variable names may also be used with PRINT#1 commands. One example of this shown below. This program configures PORT A as output and the increments it from 0 to 255.

10 OPEN "COM1:9600,n,8,1,CS,DS,RS" AS#1
20 PRINT#1, "CPA00000000"
30 FOR X = 0 to 255
40 PRINT#1, "MA",X
50 NEXT X
60 END 
          

RECEIVING DATA

When reading analog inputs or the digital port, data is sent from the ADR101 to the computers serial buffer. This data can be retrieved using INPUT#1 commands. The INPUT#1 command should be used following PRINT#1 commands if data is expected to be sent by the ADR101. If a single piece of data is expected then one variable name should be used with the INPUT#1 command. If eight pieces of data are to be received as with the RPA command then eight variable names must be used with the INPUT#1 command. Examples of both cases are shown below;

20 PRINT#1, "RA0"
30 INPUT#1, ANADAT
40 PRINT#1, "RPA"
50 INPUT#1, PA7,PA6,PA5,PA4,PA3,PA2,PA1,PA0
          

The variable names used in the INPUT#1 commands now contain the data sent by the ADR101. The data can now be scaled, printed, displayed, saved or whatever is required by the application.

 

A BASIC PROGRAM EXAMPLE

A complete BASIC program which reads analog port 0 and sets PA0 if the analog port is above 50% ( 2.5 volts ) is shown below;

10 OPEN "COM1:9600,n,8,1,CS,DS,RS" AS#1	;opens and configures serial file
20 PRINT#1, "CPA11111110"		;configures PA0 as output
30 REM  FORCES 
40 PRINT#1, "RESPA0"			;resets PA0
50 REM FORCES 					
50 PRINT#1, "RA0"			;sends RA0 command 
60 INPUT#1, AN0				;receives data into variable AN0
70 IF AN0>50% then PRINT#1, "SETPA0"'	;sends SETPA0 command if
80 GOTO 50				AN0>50% and returns to line 50 
90 PRINT#1, "RESPA0" : GOTO 50		;resets PA0 and returns to 50
          

 Back to Programming Page