Log in

View Full Version : FRC 16 channels of ADC - must we use them all?


Larry Barello
11-01-2004, 18:10
THe FRC default code fixes the 16 ADC inputs as Analog inputs. Is there any reason for this? Could I just allocate a couple, like in the EDU controller, for analog and reserve the rest for something more interesting like an LCD display & key pad?

Jay Lundy
11-01-2004, 19:20
THe FRC default code fixes the 16 ADC inputs as Analog inputs. Is there any reason for this? Could I just allocate a couple, like in the EDU controller, for analog and reserve the rest for something more interesting like an LCD display & key pad?I'm sure you could but you already have 18 digital I/O pins. If you use 8 of those for a parallel LCD you still have 10 for other stuff.

Rickertsen2
11-01-2004, 19:50
If you use 8 of those for a parallel LCD you still have 10 for other stuff.it takes 6 lines in 4-bit mode to implement an HD44780 compatible LCD(4 data + E + RW), and 10 to implement one in 8-bit mode.

Jay Lundy
11-01-2004, 22:36
it takes 6 lines in 4-bit mode to implement an HD44780 compatible LCD(4 data + E + RW), and 10 to implement one in 8-bit mode. Oh yeah.

Actually you need one more for the RS pin, so 7 pins/11 pins. I can see how you might be running out of dig I/O pins if you use 11 of them. If the busy flag isn't important to you you can ground the R/W and use 6 pins/10 pins.

Or you can set up a cheap external circuit to take serial data from the RC and make it parallel. Or you can get a serial LCD.

Rickertsen2
11-01-2004, 22:52
Actually you need one more for the RS pin, so 7 pins/11 pins. I can see how you might be running out of dig I/O pins if you use 11 of them. If the busy flag isn't important to you you can ground the R/W and use 6 pins/10 pins.

O yea, I forgot about the RS. :)

Or you can set up a cheap external circuit to take serial data from the RC and make it parallel. Or you can get a serial LCD.I think i have even seen premade "backpacks".

KevinB
11-01-2004, 23:41
To answer the original question, the 16 "analog inputs" cannot be used for digital input or output. However, I did read something about being able to use PWM 13-16 as a digital output -- might wanna look into that.

Jay Lundy
12-01-2004, 00:27
To answer the original question, the 16 "analog inputs" cannot be used for digital input or output. However, I did read something about being able to use PWM 13-16 as a digital output -- might wanna look into that. Hm.. are you sure about that? The only reasons I could think of for us not to be able to use the analog pins for dig I/O are:
1. They are being used by FIRST internal software specifically as analog
2. They are controlled by the master processor.

1 is obviously not true because we can use all 16 pins for our own analog circuits. 2 is not true because all the code for accessing the pins goes directly to the ADC, not some buffer for holding data transmitted from the master.

I know in the code there is a comment on the line that sets the number of analog pins to 16 telling you not to change it, but they have said that before in places where if you know enough about what you are doing you can safely modify.

I'll test this tomorrow when I go up to the lab again.

I'm pretty sure your statement about the PWMs is correct. 1-12 is generated by the master and therefore cannot be changed, but 13-16 is generated by the user, so those are basically general purpose pins which are PWMs by default.

KevinB
12-01-2004, 21:44
Hm.. are you sure about that? The only reasons I could think of for us not to be able to use the analog pins for dig I/O are:
1. They are being used by FIRST internal software specifically as analog
2. They are controlled by the master processor.

For some reason I thought that the pins connected to the ADC couldn't be accessed without using the ADC. Now that I've read your post .... you're probably right. I will definately do some poking around and see what happens.