attiny85 usare reset come output

Ciao a tutti.
Vorrei usare l'attiny85 "fino in fondo", cioè utilizzare il pin di reset come output (gli altri sono tutti occupati).
Non ho capito, però, alcune cose:

  • Come si imposta? Come tutti gli altri pin devo usare pinMode(dx, OUTPUT);?

  • Come faccio poi a resettare e/o a riprogrammare il chip?

Devi settare con un programmatore HV ICP un fuse per usare quel pin come pin di entrata/uscita. Non so dirti quale.

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=120109&start=0

Non credo che Arduino lo preveda percui dovresti gestire il pin direttamente vedi Arduino Reference - Arduino Reference

Per resettare devi poi toglere l' alimentazione al controller.

Non potresti usare un ATtiny84?

Ciao Uwe

erpomata:

  • Come faccio poi a resettare e/o a riprogrammare il chip?

Se abiliti, da fuse, il reset come GPIO poi te lo scordi di programmare il micro con i sistemi normali, diventa possibile farlo solo tramite programmatore HV.

uwefed:
Non potresti usare un ATtiny84?

Mi pare di capire che attiny84 è una via di mezzo tra attiny85 e atmega* come numero di pin.
Se anche la compatibilità software è la stessa (+ o -) è andata.

Anche per l'attiny84 si può utilizzare l'oscillatore interno a 16Mhz? Mi sembra di no però magari mi sbaglio.

@astrobeed
Ricevuto. A monte il pin reset. :slight_smile:

  1. non settare mai il pin di reset di un micro come normale pin di I/O perché poi ogni volta devi resettarlo con i 12V per poterlo riprogrammare
  2. l'Attiny84 non ha il PLC interno attivabile a 16 MHz (è una prerogativa dei Tinyx5)

Riguardo al punto 2):

  1. perché ti servono 16 MHz?
  2. visto che ha 11 linee di I/O, sacrificane 2 usando un quarzo esterno. Te ne rimarrebbero sempre 9, quasi il doppio di quelle di un Attiny85.

leo72:
...
2) visto che ha 11 linee di I/O, sacrificane 2 usando un quarzo esterno. Te ne rimarrebbero sempre 9, quasi il doppio di quelle di un Attiny85.

Giusto per facilità di realizzazione del circuito finale. Nulla di più. Magari prima farò delle prove ad 8Mhz

Grazie

Se è per una questione di esecuzione del codice, normalmente ciò che fai a 16 MHz lo fai anche ad 8 (ma anche ad 1)
Al max potresti avere problemi di compatibilità con qualche lib che pretende un clock a 16 ma in linea di massima non vedo limitazioni.

L'idea sarebbe quella di usare la softwareserial, non so se richiede i 16Mhz