Machine language routines to interface to the COM1: RS232 port are provided in the file RS232.OBJ found on the SR565 disk. These routines allow for simple interfacing to the SR510 at 19.2 kbaud from C programs.
#include <stdio.h>
To use these routines, the large model must be used. Compile with the /AL switch and link with RS232.OBJ.
Only two wires between the IBM PC'sASYNC port and the SR530 are needed (pins #2 & #3 of the RS232), but pins 5,6,8 and 20 should be connected together on the connector at the IBM end.
/* | Compile with >MSC program name/AL; | |
| link with RS232.OBJ (on | SR565 disk) |
| RS232.OBJ defines: |
|
| init () |
|
|
| Initializes COM1: to 19.2 kbaud |
| txstr (str); | str must terminate with ′$′ char |
| Char *str; | |
|
| Sends string str to COM1: |
| rxstr (str); | str must be declared with 15 characters |
|
| or more length. |
|
| Fills str with string received from COM1: |
| If an error occurs, your procedure nocom() is called. | |
| Nocom() must be a | C procedure in your program. |
| Example program to read | the SR510 outputs and ramp the x6 analog |
| Output using Microsoft C v3.0 (large model) and the COM1: port. | |
| Set all switches in SW2 | to UP on SR510 for 19.2 kbaud. |
*/
main ()
{
char str1[20], str2[20]; float v1,x;
init (); | /* init COM1: port to 19.2 kbaud */ |
txstr (″w0$″); | /* set character interval to 0 */ |
x = 0; |
|
while (1) |
|
{ |
|
txstr (″q$″); | /* read channel 1 output */ |
rxstr (str1); | /* into str1 */ |
sscanf (str1, ″%f″, &v1); /* scan str1 for a float variable */
45