SLAU358Q September 2011 – October 2019
Modifies the static levels on the I/O pins (JTAG lines). The JTAG lines can be set to the desired level (low or high) or they can be high impedance. The state and the level can be the same on all outputs. The level on one selected line (RST, TDI, TDOI, TMS or BSL-RX) can be different for each target.
Syntax
LONG MSPGANG_Set_IO_State(long Vcc_mV, BYTE * data );
Arguments
Vcc_mV | Voltage level in mV on the target’s VCC |
data[0] | Open destination buffer for output and transferred data for each targets.
0 = None 1 = TDI (target1 to target8) 2 = TDOI (target1 to target8) 3 = TMS (target1 to target8) 4 = RST (target1 to target8) 5 = BSL-RX (target1 to target8) |
data[1] | Data transferred to the buffer above.
b0 to b7 – target1 to target8 |
data[2] | Output enable bits: 0 = high impedance, 1 = output
b2 (0x04) – common RST – the same state for all 8 targets (Note: if the RST buffer above is selected, then this state is ignored) b3 (0x08) – common TEST – the same state for all 8 targets b4 (0x10) – common TCK – the same state for all 8 targets b5 (0x20) – common TMS – the same state for all 8 targets (Note: if the TMS buffer above is selected, then this state is ignored) |
data[3] | Output level on all targets: 0 = LOW, 1 = HIGH
b2 (0x04) – common RST – the same level for all eight targets (Note: if the RST buffer above is selected, then this state is ignored) b3 (0x08) – common TEST – the same level for all eight targets b4 (0x10) – common TCK – the same level for all eight targets b5 (0x20) – common TMS – the same level for all eight targets (Note: if the TMS buffer above is selected, then this state is ignored) |
data[4] | VCC enable bits to each target
b0 to b7 – target1 to target8 |
data[5] | ICC HI enable: 0 = disable, 1 = enable |
data[6] | spare |
data[7] | spare |
Example 1
Generate a short RST pulse on target 1 only and force RST level LOW on targets 2 to 5 and RST level HIGH on targets 6 and 7. VCC on targets 1 to 7 is 3.3 V ( 0x0CE4) and on target 8 is 0 V (disabled).
BYTE data[8] = { 04 60 00 00 7F 00 00 00 };
MSPGANG_Set_IO_State( 3300, data );
then
data[1] = 0x61;
MSPGANG_Set_IO_State( 3300, data );
Example 2
Generate a short RST pulse on all targets. VCC on targets 1 to 7 is 3.3 V ( 0x0CE4) and on target 8 is 0 V (disabled).
BYTE data[8] = { 00 00 04 00 7F 00 00 00 };
MSPGANG_Set_IO_State( 3300, data );
then
data[4] = 0x04;
MSPGANG_Set_IO_State( 3300, data );