I wrote a program to run this sensor (Parallax PING))) ) for ports 1&2, and it worked fine, but I decided I would rather have them on ports 3-6 and have 1&2 for my encoders, so I re-wrote my code, and now it doesn't work properly. I end up getting one high number when I first turn on the robot, then a steady number of 35 for the distance and 25 for the time. Here is my code:
http://www.easternfront.org/ultrasonic_port_3_6.zip
I had several printf's spread around in it to see if I was getting to all of the places in my code, thats what that phasetest is. My implementation of it in the default routine is:
Code:
if(x==1)
{
Ping(3);
}
if(x==20)
{
printf("Distance:%d Time%d\r",Get_Distance(3),Ultrasonic_3_Time);
x=0;
}
x++;
Any help would be greatly appreciated, thank you.