Programming EasyC

I am trying to use a digital I/O on the vex microcontroller to control a spike. Can someone help me with the programming. I understand all the drive functions, but dont understand how to use the digital to turn a spike on and off in easyC.


I don’t know easyC, but I assume you know how to control digital outputs.

Referencing the Users Guide on the Spike product info page, the input cable to the Spike is wired so that the White (or Yellow or Orange) wire is the Forward signal, the Red wire is the Reverse signal, and the Black wire is ground. So you’ll need to use two digital outputs and create a cable like such:

                 ,--W   \
                 |  R   |  digital output 1
                 |  B   /
         /  W----'       
to Spike |  R----.       
         \  B--. '--W   \
               |    R   |  digital output 2
               '----B   /

W,R,B = White, Red, Black

It might end up looking like a PWM Y-cable, but it is different. Then set the digital inputs as specified in the Users Guide to direct the spike into either Off, Forward, Reverse, or Brake modes.

Hope that answers your question


Using Ryan’s wiring the code might look something like this:

Channel5=Get RxInput (1,5);
Channel6=Get RxInput (1,5);
if (Channel5 == 1) {
    // forward
    Set Digital Output (1,1);
    Set Digital Output (2,0);
} else if (Channel6 == 1) { 
    // reverse
    Set Digital Output (1,0);
    Set Digital Output (2,1);
} else {
    // stop
    Set Digital Output (1,0);
    Set Digital Output (2,0);

thank you both, i will try this.