Go Down

Topic: Chiarimento pin PWM ATtiny85 (Read 383 times) previous topic - next topic

Quanti pin PWM ha questo micro?
Sul datasheet dice 2, http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf
ma qui dice che sono 3... http://blog.protoneer.co.nz/wp-content/uploads/2013/05/attiny_44_84_Pinout.png
Boh, insomma quanti ne ha?
Arduino UNO starter kit.

PaoloP

2 normali e 2 invertiti (con duty-cycle identico a i 2 impostati ma segnale invertito).
Quindi se non ti servono applicazioni particolari fai conto che ne abbia solo 2. (PB1 e PB4)


2 normali e 2 invertiti (con duty-cycle identico a i 2 impostati ma segnale invertito).

Invertiti in che senso? Che quando do'  255 l'usita è allo stato basso?
Arduino UNO starter kit.

leo72

Per segnale invertito si intende che quando un pin è HIGH, l'altro è LOW.
Sono 2+2 se prendiamo in esame l'uscita A del timer 1. Ma con il core Tiny credo che la configurazione sia 3+1, ossia 3 indipendenti ed 1 dipendente dallo stato del 3° ma con segnale invertito.
I pin PWM indipendeti sono PB0, PB1 e PB3. Il 4° pin, PB4, può solo rappresentare lo stato invertito del pin PB3.

leo72

PS:
però non ho un oscillatore per cui non posso verificare cosa il core Tiny faccia effettivamente.
Se ovviamente si lavora a livello di timer, a questo punto le uscite sono come le imposti tu.

PaoloP

Si, sono 3+1, ma anche 2+2, perché puoi configurare PB0 come indipendente o invertito rispetto a PB1.  ;)

leo72

Per dovere di cronaca, ho controllato il codice: parlando del solo core Tiny (perché il discorso del 2+2 vale sempre, a patto di lavorare direttamente coi timer) ho controllato e la configurazione è 3+1:
Ecco un commento che si legge nel core:
Quote
/* Note: By default, CORE_OC1A_PIN is not used for PWM.  It overlaps with
CORE_OC0B_PIN.  CORE_OC0B_PIN was used because it supports phase-correct PWM.

Quindi l'unico pin invertito resta PB3, cioè /OC1B.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy