I want to use an ATtiny85 for an application, but I am an 8-pin-ATtiny-chip newbie.
So I am reading the "ATtiny25/V / ATtiny45/V / ATtiny85/V" databook (Rev. 2586Q–AVR–08/2013; which, even though I downloaded it from Microchip, it still says "Atmel" on the front page).
I would like to be able to keep pin 1 of the ATtiny85 as a reset pin (with the "reset disable" fuse unprogrammed), so that the device can be re-programmed using ICSP (for firmware upgrades). (IOW I would rather not have to revert to HVSP.) However, my application needs three input pins and three output pins (i.e. it needs all six pins to be used as I/O).
I do not think this is a real problem, because the databook section 1.1.4 says:
"The reset pin can also be used as a (weak) I/O pin."
I presume this means that, when RESET is not disabled by the fuse settings, the port B bit 5 data direction register can be set as output, although the logic output source/sink currents are more limited (compared to other GPIO pins). (So the output needs to be buffered for higher current requirements.)
Then, for ICSP programming, (I think) I can just hold the pin low while applying Vcc; but for running the application, the firmware can program the pin as output and write logic 0 or 1 signals out to the pin (without causing the device to reset).
Am I Correct?
But I was also wondering about the 'I' in the above quoted statement from section 1.1.4: "... (weak) I/O pin". Does this mean that the pin can also be used as a general purpose logic input, even though the reset function is not disabled? How would one do that? (Or is the term "I/O" an error in the databook?) What about the pin's other functions? E.g. can ADC0 or debugWire be used when reset is not disabled by fuse settings?
Thanks and best regards,
DuinoSoar