Newsgroup: it.hobby.elettronica.digitale
Titolo: AVRSIMULATOR IDE e timer

Qualcuno conosce il basic compiler o usa questo programma della oshon ?
Il problema e' che sto' trasferendo un programma fatto con il pic 
simulator della stessa casa fatto per il pic16f976 ( e funzionanate ) ad 
un atmega168 cosa semplice perche' hanno la stessa struttura a parte qlc 
cambio di registro ma non riesco , nella simulazione , a far partire il 
timer dell'avr : regolo il prescaler del timer con il registro TCCR0B
per abilitare l'avvio , setto il bit TOIE0 per abilitare l'overflow e
metto l'istruzione ENABLE OVF0 per abilitare l'interrupt ma il timer 
nella simulazione non parte , cioe' non si incrementa , mentre nella 
simulazione del pic parte appena abilito il prescaler.....
Non mi riesce a venirne fuori , dovrebbe bastare abilitare il clock 
select nel registro TCCR0b , sbaglio qlc ?
grazie

 grazie
Devi anche scegliere il modo operativo del TIMER0 (PWM o altro).
Ed accertarti che gli interrupt siano abilitati globalmente (vedi
istruzione "sei").
Se usi una routine di interrupt, il flag OVF si resetta da solo
all'esecuzione, sennò devi farlo manualmente settando il bit nel
registro TIFR.
Dato che stai simulando, verifica le condizioni esterne al programma.
Piccio.

 
Grazie dell'interessamento
Il programma in oggetto e' un compilatore basic , e diverse settaggi li 
fa' da se , tipo la funzione Enable che (dovrebbe) abilita(re) 
globalmente  gli interrupt e infatti setta il bit 7 del SREG .... ma il 
problema e' un altro il TIMER0 (1 o 2) non dovrebbe avviarsi quando 
abilito il tipo di clock se interno o esterno col registro TCCR0B , a 
prescindere da quello che poi me ne faccio del Timer ?
Seguendo altri esempi di come programmare il TIMER su altri linguaggi 
tipo anche il bascom , ho programmato gli stessi passi ma non lo fa' 
andare, siccome vedi tutti i bit dei registri come si modificano , nel 
picsimulator ide vedo il timer incrementarsi e qui no.... se anche
l'overflow non funziona alemno una volta lo dovrei vedere...
nel PIC ho :
intcon.t0ie = 1  'enable Timer0 interrupts
intcon.gie = 1  'enable all un-masked interrupts
option_reg = %00000111 abilito  il prescaler
nel ATMEG168
TCCR0B = %00000111  ' abilito il prescaler e il clock
  TIMSK0.TOI02 = 1  abilito il  timer overflow
Enable OVF0
Enable            abilitazione globale interrupt
grazie

 grazie
Controlla se il timer è settato come contatore, timer o PWM.
Il modo operativo é essenziale.
Piccio.

 Piccio.
Come ho gia' scritto e ho riletto adesso nel datasheet l'unico registro
che abilita e fa partire il conteggio di TCNTx e' il registro TCCRB0 
dove gli ultimi 3 bit fanno da selezione di quale clock usare (interno o 
esterno) e prescaler quando sono a 0 il timer e' fermo....
Il mio problema era sapere se qualcuno utilizza questo compilatore e 
vedere se ha lo stesso problema....  ma ho paura che sia poco usato , 
non si trova nessun esempio in internet e poco anche sul loro sito , 
mentre del compilatore per i pic qlc c'e'.....
grazie

spider ha scritto:

Vai su 
http://www.avrfreaks.net/
  ci sono molti progetti che usano anche 
il compilatore BASCOM, devi per� registrarti ma ne vale la pena. Io non 
so aiutarti li ho usati pochissimo.
Ciao

 Ciao
Conosco Avrfreaks , il problema e' che non sto' usando BASCOM ma come e' 
scritto nel titolo l'AVRSIMULATOR IDE della OSHON .....

scritto nel titolo l'AVRSIMULATOR IDE della OSHON .....
Allora probabilmente � buggato il simulatore, segnala il problema al produttore
perch� devono essere i simulatori ad adeguarsi alla realt�, altrimenti non
servono a niente.
--
ciao
  Stefano

 servono a niente.
Molto probabile che lo sia , stavo valutando la versione di prova che e' 
limitata, ma lo ritengo veramente fatto bene , soprattutto la 
simulazione tieni sotto controllo tutto a finestre... qui si puo' vedere
come fa :
http://www.oshonsoft.com/avr.html
ciao

 Enable            abilitazione globale interrupt
Il prescaler configurato 0b00000111 abilita una sorgente ESTERNA al
micro sul pin T0 (External clock source on T0 pin. Clock on rising
edge.).
Controlla che la simulazione fornisca qualcosa all'esterno o prova a
cambiare il registro per una sorgente di clock ricavata internamente
al micro.
Verifica anche che WGM02..00 siano in normal mode (tutti a 0).
Piccio.

 edge.).
Grazie , ma avevo gia provato con il prescaler configurato 0b00000101
o altre ma non parte nella simulazione....
ciao


http://www.oshonsoft.com/avr.html
Bellino, ma se � buggato serve a poco
--
ciao
  Stefano

 Bellino, ma se � buggato serve a poco
Se e' buggato in effetti ... comunque grazie della dritta per 
verificarlo su altro simulatore , stavo allestando per provarlo sul 
micro....
Quello che ha di bello la oshon e' che se ho sviluppato un programma 
(come nel mio caso ) su un pic i compilatori basic dei due sono 
praticamente identici e devi solo variare le locazioni ingresso uscita o 
altri piccoli particolari e passi su l'altro... sul sito si possono 
scaricare le versioni limitate....