I tested that code with no luck. It just jittered at the starting position.
I have attached some of the requested files as a zip [EDIT file size limits, man]
- Circuit diagram
- Motor driver user guide
- 
Motor driver data sheet[EDIT TB6600 data sheet is too large to upload]
- Nema23 motor spec sheet
- code working example
- code not working example (the copy-pasted code from above reply)
Note that I did not list microcontroller pin connections for PUL+ (pulse) and DIR+ (direction) on the circuit diagram because I have tried several combinations. However, for the code snippets included I am using 11 for PUL+ and 10 for DIR+
I'll copy/paste my code below as well for convenience:
//CODE THAT DOES NOT WORK, CAUSES JITTER AND NO MOTOR PROGRESS
const int DIR = 10;
const int PUL = 11;
void setup() {
  pinMode(DIR, OUTPUT);
  pinMode(PUL, OUTPUT);
  digitalWrite(DIR, HIGH);
}
void loop() {
  digitalWrite(DIR, !digitalRead(DIR));
  for (int i = 0; i < 200; i++) {
    digitalWrite(PUL, HIGH);
    delayMicroseconds(20);
    digitalWrite(PUL, LOW);
    delay(100);
}
  delay(10000);
  
}
//CODE THAT DOES WORK, USING PWM
const int DIR = 10;
const int PUL = 11;
void setup() {
  pinMode(DIR, OUTPUT);
  pinMode(PUL, OUTPUT);
  digitalWrite(DIR, HIGH);
}
void loop() {
  digitalWrite(DIR, !digitalRead(DIR));
  analogWrite(PUL, 255);
  delay(10000);
  analogWrite(PUL, 0);
  delay(10000);
}
In case it helps to know the use case, I'm embarking on a long project to build a serious desktop manipulator robot. PWM is not useful to me as-is because I need much more control of motor acceleration, velocity, and speed. If I can ever figure out why the basic code won't run as expected, I'll start to write some interrupt routines that will help to handle these kinematics.
I will try to replicate this issue with an Arduino Uno and then if all else fails I'll switch to PIC.
circuit diagram.pdf (159 KB)
digital_not_working.ino (346 Bytes)
motor specs.pdf (257 KB)
pwm_working.ino (271 Bytes)
TB6600 User Guide V1.2.pdf (442 KB)