Thông báo

Collapse
No announcement yet.

Vấn đề PWM avr

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

  • Vấn đề PWM avr

    Hiện tại em dùng atmega8 xuất PWM chế độ fast PWM để điều khiển động cơ bước.
    Các anh cho em hỏi làm cách nào để đếm được số xung PWM. Em thấy trong datasheet thấy Timer Overflow tại ICR1. Em dùng ngắt Timer1 để đếm nhưng chạy không được, chương trình báo lỗi.
    Giúp em với các cao thủ...

  • #2
    Ko ai giúp em với ah. Hay là phải dùng CTC tạo xung. Thôi dùng cái này vậy

    Comment


    • #3
      Nguyên văn bởi johnnykhoa Xem bài viết
      Hiện tại em dùng atmega8 xuất PWM chế độ fast PWM để điều khiển động cơ bước.
      Các anh cho em hỏi làm cách nào để đếm được số xung PWM. Em thấy trong datasheet thấy Timer Overflow tại ICR1. Em dùng ngắt Timer1 để đếm nhưng chạy không được, chương trình báo lỗi.
      Giúp em với các cao thủ...
      Khi thanh ghi bằng ICR1 thì đã xảy ra Overflow đâu. Overflow xảy ra khi thanh ghi TCNT1 bằng giá trị MAX. Bạn dùng chế độ fast PWM, giá trị TOP là ICR1, còn duty là OCR1A. Bạn thử dùng chế độ compare xem thế nào. Khi TCNT1 bằng OCR1A thì 1 Compare Match xảy ra. Nếu cho phép ngắt thì ngắt Compare Match sẽ xảy ra. Bạn đếm xung tại ngắt này.
      Sống là để chiến đấu

      Comment


      • #4
        cám ơn bạn

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X