
28-01-2006, 17:01
|
|
Registered User
 FRC #1138
|
|
Join Date: Jan 2006
Location: West Hills, CA
Posts: 9
|
|
|
Re: G.T.S ..... (problem)
Quote:
|
Originally Posted by Alan Anderson
I assume you're referring to the Gear Tooth Sensor. It sounds like you're having two conceptual difficulties with printing its value.
First, its output is a very short high-going pulse whenever a gear tooth passes the sensor. It's on the order of 40-80 microseconds long. Unless you get extremely lucky, your code is not very likely to read anything other than a 0.
Second, it sounds like you might be trying to use printf with a char. For a couple of technical reasons, that doesn't work exactly the way you want it to. You'll need to cast the value to an int like this:
Code:
char value = 1;
...
printf ( "value = %d\r", (int)value );
The proper way to read the gear tooth sensor is to have it create an interrupt whenever it emits a pulse, and to use the interrupt service routine to count the pulses.
|
the GTS code returns a LONG int.
Good Luck.
|