Pages: [1]   Go Down
Author Topic: ATtiny85 frequenza  (Read 449 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho provato un ATtiny85 nuovo appena arrivato.
L'ho programmato con:

Board: ATtiny85@ 1 Mhz (Internal oscillator;BOD disabled)
Codice: vedi di seguito

in uscita rilevo un segnae con periodo ~ 13uS, vedi file allegato.

Mi aspettavo una frequenza più alta anche se per una misura
più precisa bisognerebbe programmare in assembler. 

Ho provato anche a caricare il bootloader dal menù  "Scrivi bootloader"
del menù Strumenti ma non ci sono differenze.

Questo bootloader va bene anche per gli ATtiny??

e poi con la:
Board: ATtiny85@ 8 Mhz (Internal oscillator;BOD disabled)
Tutto come prima.

Il codice di prova:
void setup(){
  DDRB=255;
}
void loop(){
  PORTB=8;
  PORTB=0;
}

Carletto


* P3060030b.JPG (583.55 KB, 2106x1362 - viewed 16 times.)
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi aspettavo una frequenza più alta anche se per una misura
più precisa bisognerebbe programmare in assembler. 

Gli AVR nuovi, di default, usano l'oscillatore RC interno a 1 MHz, 13 us sono un tempo accettabile per il tuo codice visto che corrispondono a 13 cicli macchina.
Non serve a nulla cambiare il tipo di board senza cambiare opportunamente i settaggio dei fuse, ed eventualmente aggiungere un quarzo, quell'indicazione serve solo per passare al compilatore il valore di FCPU da utilizzare per settare i valori legati al clock come il baud rate o la durata di un delay.

Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 505
Posts: 12312
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Immagino che tu ti sia attrezzato per programmare i tiny, scaricando i file aggiornati; il bootloader dei tiny è "virtuale" cioè completamente vuoto, ma usando l'IDE 1.0.1 o più recenti, se selezioni PRIMA la board a 8MHz e poi scrivi il bootloader ottieni il cambiamento dei fuse e quindi il settaggio del micro per lavorare a 8MHz, sempre con l'oscillatore interno.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Full Member
***
Karma: 0
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Immagino che tu ti sia attrezzato per programmare i tiny, scaricando i file aggiornati; il bootloader dei tiny è "virtuale" cioè completamente vuoto, ma usando l'IDE 1.0.1 o più recenti, se selezioni PRIMA la board a 8MHz e poi scrivi il bootloader ottieni il cambiamento dei fuse e quindi il settaggio del micro per lavorare a 8MHz, sempre con l'oscillatore interno.

OK FUNZIONA!
Grazie Michele.

Vedi allegato.

Sto utilizzando l'IDE 1.0.3 e i file me li ha indicati leo72 qualche tempo fa
http://code.google.com/p/arduino-tiny versione 0100-0015.

In quelle board ne esiste una per i 16Mhz con oscillatore interno.
Qualcuno l'ha provata?

Carletto.
 
 


 


* BootLoader16.JPG (332.25 KB, 1824x930 - viewed 10 times.)
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sto utilizzando l'IDE 1.0.3 e i file me li ha indicati leo72 qualche tempo fa
http://code.google.com/p/arduino-tiny versione 0100-0015.

In quelle board ne esiste una per i 16Mhz con oscillatore interno.
Qualcuno l'ha provata?

Carletto.
Mai provata ma funziona senz'altro perché so dal forum internazionale che è stata usata.
In pratica il Tiny85 è l'unico micro di quelli programmabili dall'IDE di Arduino che usa un PLL interno per cui si può generare un clock maggiore di quello fornito dall'oscillatore ricorrendo appunto ad una modifica software dei parametri del micro.
Comunque per l'impiego tipico di un Tiny85, dove i compiti da svolgere sono generalmente semplici, bastano anche i clock inferiori: oltretutto ti permettono di usare anche tensioni di alimentazione più basse dei canonici 5V, a tutto vantaggio del risparmio energetico.
Logged


Offline Offline
Full Member
***
Karma: 0
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho provato la board 16Mhz e funziona.

Grazie per i suggerimenti.

Carletto
Logged

Pages: [1]   Go Up
Jump to: