diff --git a/application.c b/application.c index cd22f7c..8a9d16d 100644 --- a/application.c +++ b/application.c @@ -334,14 +334,14 @@ static void jtag_transaction(uint32_t tms, uint32_t tdi, uint8_t nb) gpio_clear(channel_ports[jtag_tms_ch], channel_pins[jtag_tms_ch]); // set TMS low } tms >>= 1; // go to next bit - if (jtag_tdi_ch >= channel_start && jtag_tdi_ch < channel_stop) { // TDI is configured + if (jtag_tdi_ch >= channel_start && jtag_tdi_ch <= channel_stop) { // TDI is configured if (tdi & 0x1) { gpio_set(channel_ports[jtag_tdi_ch], channel_pins[jtag_tdi_ch]); // set TDI high } else { gpio_clear(channel_ports[jtag_tdi_ch], channel_pins[jtag_tdi_ch]); // set TDI low } + tdi >>= 1; // go to next bit } - tdi >>= 1; // go to next bit gpio_clear(channel_ports[jtag_tck_ch], channel_pins[jtag_tck_ch]); // clock falling edge sleep_us(JTAG_SPEED); // wait for clock rising edge gpio_set(channel_ports[jtag_tck_ch], channel_pins[jtag_tck_ch]); // clock rising edge