B&B Electronics Parallel Port Input/Output Converter PPIO User Manual

Page 25

Advertising
background image

PPIO2899 Manual

B&B Electronics Mfg Co Inc – 707 Dayton Rd - PO Box 1040 - Ottawa IL 61350 - Ph 815-433-5100 - Fax 815-433-5104

23

For example:
Output_Byte = 01010101b
Line_Number = 3
Status = 1

00000001b (1 decimal)
shift-right 3 (Line_Number) =

00001000b

XOR

11111111b

11110111b (mask 1)

AND

01010101b (Output_Byte)

00000001b (Status)

01010101b

shift-right 3(Line_Number) = OR

00001000b (mask 2)

01011101b

(

New

Output_Byte)

The function, Toggle(), is used to toggle the status of an output

line. If the specified line is ON, it will be turned OFF. If it is OFF, it
will be turned ON. The function is defined as:

void Toggle (unsigned char Line_Number)
{

Output_Byte = Output_Byte ^ (1 << Line_Number);

outport (Base_Address, Output_Byte);

}

To produce a mask value, 00000001b is shifted right by the desired
line number. The mask value is exclusive ORed with Output_Byte to
produce the new value of Output_Byte. Then it is written to the
parallel port.

For example:
Output_Byte = 01010101b
Line_Number = 3

00000001b (1 decimal)
shift-right 3 (Line_Number) =

00001000b (mask)

XOR 01010101b (Output_Byte)

01011101b (New

Output_Byte)

Advertising