THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => AVR Εποχή => Topic started by: Petrakeas on September 21, 2007, 17:34:15 pm



Title: Απορία counter OCR2
Post by: Petrakeas on September 21, 2007, 17:34:15 pm
Στην ασκ m2ex03-b από αυτές που υπάρχουν στο e-thmmy πρέπει ο counter (ΤCNT2) μόλις μετρήσει ένα λεπτό να κάνουμε  interrupt. Γι αυτό τον συγκρίνουμε με τον OCR2 ο οποίος παίρνει την τιμή 59...
Δεν έπρεπε να πάρει την τιμή 60??  Όταν ο ΤCNT2 πάρει την τιμή 60 δεν πρέπει να τον μηδενίσουμε στο 00? γιατί στο 59? :D


Title: Re: Απορία counter OCR2
Post by: nicktgr15 on September 21, 2007, 18:39:10 pm
Μάλλον όχι. Άλλωστε και τα ρολόγια που φοράμε μέχρι το 59 μετράνε. 60 και 0 ταυτίζονται :)


Title: Re: Απορία counter OCR2
Post by: Petrakeas on September 21, 2007, 18:51:08 pm
Γι αυτό ακριβώς λέω! Όταν θα γίνει 60 θα πρέπει να μηδενιστεί. Γιατί τώρα μηδενίζεται στο 59. Δηλαδή 59 και 0 ταυτίζονται! Σαν να κλέβει ένα sec.. Μήπως παίζει κάτι άλλο που δεν κατάλαβα με τους counters...


Title: deleted
Post by: BOBoMASTORAS on September 21, 2007, 19:24:43 pm
deleted


Title: Re: Απορία counter OCR2
Post by: Petrakeas on September 22, 2007, 03:22:54 am
Δλδ το TCNT2 μηδενίζεται την επόμενη φορά που θα μεταβληθεί (λόγω παλμού στο Τ2) και όχι στιγμιαία μόλις εξισωθεί με το OCR2?

Ακόμα και το datasheet δεν τον εξηγεί πολύ καλά...

@BOBoMASTORAS Ακόμα και αν η Interupt service routine εκτελεστεί στον επόμενο κύκλο δε το δικαιολογεί, γιατί η επόμενη αύξηση του TCNT2  θα γίνει μετά από 1 sec.


Title: Re: Απορία counter OCR2
Post by: rhum on September 22, 2007, 06:37:57 am
Δλδ το TCNT2 μηδενίζεται την επόμενη φορά που θα μεταβληθεί (λόγω παλμού στο Τ2) και όχι στιγμιαία μόλις εξισωθεί με το OCR2?

Ναι, αυτο ισχυει, ουσιαστικα παντα ο counter μετραει Ν+1 και οχι Ν. Οταν TCNT=OCR δεν συμβαινει τιποτα, το IRG χτυπει και ο TCNT μηδενιζεται οταν ο counter δεχτει τον επομενο παλμο, δηλαδη μετα απο ενα δευτερολεπτο


Απορια στην m2ex07-a :
Η κληση της ρουτινας καθυστερησης  rcall TIME_DEL_A πρεπει να μπει μετα την  out PORTB, temp  αλλιως ο 4 κινητηρας δεν προλαβαινει να ενεργοποιηθει.


Title: Re: Απορία counter OCR2
Post by: Petrakeas on September 22, 2007, 14:33:39 pm
@thum έτσι είναι όντως. Το δοκίμασα στο AVR studio.
Δεν πήγα ακόμα στην 7! Γρήγορος είσαι! Αύριο θα το δω.


Title: Re: Απορία counter OCR2
Post by: Petrakeas on September 23, 2007, 17:06:04 pm
@rhum είδα την άσκηση, αλλά δε βρήκα πρόβλημα. Νομίζω ξεκινάει


Title: Re: Απορία counter OCR2
Post by: liago13 on September 26, 2007, 17:40:25 pm
Για την ασκηση 3 απο αυτες που ανεβασε ο Πετρου δεν εχω καταλαβει το αρχικο κομματι.

 initialization of the Timer/Counter 2 Control Register
    ldi temp, 0b00001111  ; CTC mode (0bx0xx1xxx), OC2 disconnected (0bxx00xxxx)
         ; and external clock source on T2 pin clock on rising edge (0bxxxxx111)
    out TCCR2, temp   

; initialization of the Output Compare Register 2
    ldi temp, 59
    out OCR2, temp
; clearing the whole clock - redundant
    clr days
    clr hours
    clr minutes
    out TCNT2, minutes
; initialization of the External Interrupt Control Register
    ldi temp, 0b00000011    ; ext_int0: 0->1

    sts EICRA, temp 
; enabling interrupts
    ldi temp, 0b10000000
    out TIMSK, temp     ; enabling Timer/Counter2 Compare Match interrupt
    ldi temp, 0b00000001
    out EIMSK, temp     ; enabling external interrupts

    sei
; waiting for an external interrupt


Αυτα που εχω στο Bold απο που μπορω να τα βρω μηπως καταλαβω τιποτα?  Ξερω οτι τα αναφερει στις διαφανειες αλλα ποτε χρησιμοποιουμε τα 0000000011 κτλ σε καθε περιπτωση δεν το καταλαβα καθολου.

Για παραδειγμα γιατι βαλαμε

 ldi temp, 0b00001111  ; CTC mode (0bx0xx1xxx), OC2 disconnected (0bxx00xxxx)
         ; and external clock source on T2 pin clock on rising edge (0bxxxxx111)
    out TCCR2, temp


Που λεει για αυτο?


Title: Re: Απορία counter OCR2
Post by: JAs0n-X on September 26, 2007, 18:18:16 pm
Με μια πολυ γρηγορη ματια αυτα ειναι ρυθμισεις που πρεπει να κανεις και θα τα βρεις στο manual!


Title: Re: Απορία counter OCR2
Post by: sevastizoi on September 26, 2007, 18:18:56 pm
στο datasheet για τον avrmega128 έχει τα πάντα ,εσύ ψάχνεις από τη σελίδα 145 και μετά που περιγράφει τον timer/counter 2...


Title: Re: Απορία counter OCR2
Post by: liago13 on September 26, 2007, 19:46:33 pm
στο datasheet για τον avrmega128 έχει τα πάντα ,εσύ ψάχνεις από τη σελίδα 145 και μετά που περιγράφει τον timer/counter 2...

Μακαρι να μη μας βαλει κατι που να χρειαζεται οπωσδηποτε το datasheet γιατι δεν θα το εχω μαζι μου ουτε εχω διαλεξει τι να εκτυπωσω αποσπασματικα.

Αν καποιος εχει ξεδιαλυνει ποιες ειναι οι χρησιμες σελιδες που πιθανον θα χρειαστουμε αυριο ας μας δωσει τα φωτα του!



Title: Re: Απορία counter OCR2
Post by: Axel on September 26, 2007, 19:49:37 pm
Χωρις το datasheet δε νομιζω πως υπαρχει πιθανοτητα να γραψεις, εκτος και αν θυμασαι ολα τα bits ολων των registers απ'εξω!

Εκτυπωσε τις σελιδες που αναφερει στο .doc με την υλη. Αυτες που περιλαμβανουν PWM δε θα χρειαστουν απ'οτι ειπε ο alexzlat.