Thông báo

Collapse
No announcement yet.

TIMER2 & TIMER4 : mâu thuẫn biết chọn cái nào.

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • TIMER2 & TIMER4 : mâu thuẫn biết chọn cái nào.

    đây là 2 ví dụ trong ccs c:

    1. TIMER2:

    Code:
    setup_timer_2 ( T2_DIV_BY_4, 0xc0, 2);
    
    // At 20mhz, the timer will increment every 800ns,
    
    // will overflow every 154.4us,
    
    // and will interrupt every 308.8us.
    chu kỳ ngắt được tính là T1 = 0.2us*4*(192-0+1)*2

    2. TIMER4:
    Code:
    setup_timer_4 ( T4_DIV_BY_4, 0xc0, 2);
    
    // At 20mhz, the timer will increment every 800ns,
    
    // will overflow every 153.6us,
    
    // and will interrupt every 307.2us.
    chu kỳ ngắt ở đây là T2=0.2us*4*192*2


    cho mình hỏi ở 2 ví dụ trên thì tính theo cái nào là đúng? Nếu cả hai đều đúng thì vì sao TIMER2 *193 còn TIMER4 *192. các bạn trả lời giùm.

    Thanks!
    ||

  • #2
    mình lên check bài thường xuyên với hy vọng là có bài trả lời nhưng đều thất vọng. không biết là mọi người không rõ vấn đề hay là biết mà không nói. thật sự là mình thấy chán lên diễn đàn để hỏi rồi.
    ||

    Comment


    • #3
      Mình cũng chưa tìm hiểu nhiều về Pic nên ko giúp gì được cho bạn. Nhưng mình hiểu tâm trạng của Bạn.Hình như diễn đàn này chỉ để dành cho cao thủ thôi, còn tép riêu như tụi mình thì những câu hỏi này phải tự tìm hiểu thôi.Những gì mình biết về Pic đến giờ là do mình tự tìm hiểu hoặc là học bằng cách bỏ tiền ra nhờ người ta việt code mẫu và giải thích cặn kẻ, cũng buồn thật.

      Comment


      • #4
        Nguyên văn bởi hieu98dt Xem bài viết
        Mình cũng chưa tìm hiểu nhiều về Pic nên ko giúp gì được cho bạn. Nhưng mình hiểu tâm trạng của Bạn.Hình như diễn đàn này chỉ để dành cho cao thủ thôi, còn tép riêu như tụi mình thì những câu hỏi này phải tự tìm hiểu thôi.Những gì mình biết về Pic đến giờ là do mình tự tìm hiểu hoặc là học bằng cách bỏ tiền ra nhờ người ta việt code mẫu và giải thích cặn kẻ, cũng buồn thật.
        Rồi Bục hiện ra và chỉ cho tường tận....xong thì...thôi ta đi đây, àhh quên con phải bồi dưỡng ta chứ.. he he.

        Comment


        • #5
          Nguyên văn bởi vandat07 Xem bài viết
          đây là 2 ví dụ trong ccs c:

          1. TIMER2:

          Code:
          setup_timer_2 ( T2_DIV_BY_4, 0xc0, 2);
          
          // At 20mhz, the timer will increment every 800ns,
          
          // will overflow every 154.4us,
          
          // and will interrupt every 308.8us.
          chu kỳ ngắt được tính là T1 = 0.2us*4*(192-0+1)*2

          2. TIMER4:
          Code:
          setup_timer_4 ( T4_DIV_BY_4, 0xc0, 2);
          
          // At 20mhz, the timer will increment every 800ns,
          
          // will overflow every 153.6us,
          
          // and will interrupt every 307.2us.
          chu kỳ ngắt ở đây là T2=0.2us*4*192*2
          Hôm nay xem trong manual CCS: Timer2 (trang 281), Timer4 (trang 282) đều có ví dụ này. Theo tôi thì cả 2 cách đều đúng. Nó cũng nói 2 timer giống nhau, nhưng mỗi hàm chỉ ứng với từng timer (2 hay 4). Có thể do thằng CCS nó quy định thế. Bác dùng cái nào cũng đúng, miễn là tính theo công thức bác đưa ở trên.

          www.ccsinfo.com/downloads/ccs_c_manual.pdf

          Comment


          • #6
            Nguyên văn bởi vandat07 Xem bài viết
            đây là 2 ví dụ trong ccs c:

            1. TIMER2:

            Code:
            setup_timer_2 ( T2_DIV_BY_4, 0xc0, 2);
            
            // At 20mhz, the timer will increment every 800ns,
            
            // will overflow every 154.4us,
            
            // and will interrupt every 308.8us.
            chu kỳ ngắt được tính là T1 = 0.2us*4*(192-0+1)*2

            2. TIMER4:
            Code:
            setup_timer_4 ( T4_DIV_BY_4, 0xc0, 2);
            
            // At 20mhz, the timer will increment every 800ns,
            
            // will overflow every 153.6us,
            
            // and will interrupt every 307.2us.
            chu kỳ ngắt ở đây là T2=0.2us*4*192*2


            cho mình hỏi ở 2 ví dụ trên thì tính theo cái nào là đúng? Nếu cả hai đều đúng thì vì sao TIMER2 *193 còn TIMER4 *192. các bạn trả lời giùm.

            Thanks!
            Mình mới học về PIC nên cũng không rõ mấy. Bạn có thể xem phần Timer 2 trong quyển: "Valdes-Perez_Microcontrollers-Fundamentals and Applications with PIC" có ghi khá rõ về cách tính the overflow for timer2.

            Comment


            • #7
              Nguyên văn bởi hatuyen223 Xem bài viết
              Mình mới học về PIC nên cũng không rõ mấy. Bạn có thể xem phần Timer 2 trong quyển: "Valdes-Perez_Microcontrollers-Fundamentals and Applications with PIC" có ghi khá rõ về cách tính the overflow for timer2.
              Bạn có link không cho mình xin với.

              Thanks!
              ||

              Comment


              • #8
                Nguyên văn bởi vandat07 Xem bài viết
                Bạn có link không cho mình xin với.

                Thanks!
                của bạn đây http://www.4shared.com/document/F9sU...amentals_.html

                Comment

                Về tác giả

                Collapse

                vandat07 Tìm hiểu thêm về vandat07

                Bài viết mới nhất

                Collapse

                Đang tải...
                X