01-17-2012 02:27 PM
This is my test code below:
while (1)
{
TNT_Out(R_cnt0, 0xAA);
TNT_Out(R_cnt1, 0x55);
Delay10KTCYx(200);//Delay 20K cycles
TNT_Out(R_cnt2, 0xF0);
TNT_Out(R_cnt3, 0xFF);
LATD = 0x00;
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
TNT_In(R_cnt0);
LATD = Data_Bus; Reads 0xFF here
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
TNT_In(R_cnt1);
LATD = Data_Bus;Reads 0xFF here
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
TNT_In(R_cnt2);
LATD = Data_Bus;Reads 0xFF here
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
TNT_In(R_cnt3);
LATD = Data_Bus;Reads 0xFF here
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
}
If I reverse Rcnt0 and Rcnt3:
while (1)
{
TNT_Out(R_cnt0, 0xFF);
TNT_Out(R_cnt1, 0x55);
Delay10KTCYx(200);//Delay 20K cycles
TNT_Out(R_cnt2, 0xF0);
TNT_Out(R_cnt3, 0xAA);
LATD = 0x00;
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
TNT_In(R_cnt0);
LATD = Data_Bus; Reads 0xAA here
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
TNT_In(R_cnt1);
LATD = Data_Bus;Reads 0xAA here
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
TNT_In(R_cnt2);
LATD = Data_Bus;Reads 0xAA here
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
TNT_In(R_cnt3);
LATD = Data_Bus;Reads 0xAA here
Delay10KTCYx(200);//Delay 20K cycles
Delay10KTCYx(200);//Delay 20K cycles
}