See http://www.ultimaserial.com/standard.html#SetDIODir:
It is plain binary format, bit 0 for DIO0, bit 1 for DIO1....
In case you are not familiar with binary, here is the equation:
diodir = 0
If DIO7isInput Then diodir = diodir + 128
If DIO6isInput Then diodir = diodir + 64
If DIO5isInput Then diodir = diodir + 32
If DIO4isInput Then diodir = diodir + 16
If DIO3isInput Then diodir = diodir + 8
If DIO2isInput Then diodir = diodir + 4
If DIO1isInput Then diodir = diodir + 2
If DIO0isInput Then diodir = diodir + 1
UltimaSerial.SetDIODir diodir
--- In ultimaserial_group@yahoogroups.com, "throrope" <throrope@...>
wrote:
>
> I see posts for setting the direction of all digital IO to in or
> out, but I can't find a post that explains how to set one to out and
> one to in. Also, can that digital output be individually set to
> high?
>
> My application runs within Excel's visual basic editor.
>
> I have the following instructions:
>
> UltimaSerial.SetDIODir 0 turns all DIO to outputs
> UltimaSerial.SetDIODir &HFF turns all DIO to inputs
>
> UltimaSerial.DigitalOutput &HFF turns all available outputs to high
> UltimaSerial.DigitalOutput 0 turns all available outputs to low
>
> For DIO 2, would the &HFF be &H2F for each of the above? Do we set
> all to outputs then set the inputs individually?
>
> ie:
>
> UltimaSerial.SetDIODir 0
> UltimaSerial.SetDIODir &H0F
> UltimaSerial.SetDIODir &H1F
> UltimaSerial.SetDIODir &H3F
> UltimaSerial.DigitalOutput &HFF
>
> I'm thinking the above sets all to out; then 0,1,3 to in; then since
> only 2 is left as out, setting all to high indexes only 2 to high.
> Will UltimaSerial.DigitalOutput &H2F set only 2 to high? Any
> thoughts?
>
> Paul
>