Trích:
Nguyên văn bởi daythienha2007
thật ra mình chưa muốn quan tâm đến duty cycle vội .Việc đầu tiên là cần giải quyết là tại sao mình thay đổi phần set_power_pwmX_duty(duty_cycle)nhưng lhông hiêu sao nó chẳng thấy thay đổi gì cả.không giống như chế độ PWM ở chân CCP1 mình thay đổi ở duty cycle trong set_pwm1_duty(duty_cycle).trong ccp1 nếu thay đổi dutycycle thì sẽ thấy kết quả khác nhau.nhưng trong các chân PWM power ko bit sao thay dổi ko dc.
Mong bạn nampn giải đáp dùm.thanks!..
|
C ái này là do bạn khai báo pwm ko đúng .
setup_power_pwm_pins(module0,module1,module2,modul e3)
PWM_ODD_ON : cái này chỉ cho phep các chân pwm lẽ xuất xung (pwm 1,3,5,7).Và các chân này bạn cũng cấm xuất xung nên khi đo cũng không có áp là đúng rôi ...(vì bạn đã khai báo trong chế độ OVERRIDE).
Vì vậy việc thay đổi duty của bạn kô ăn thua gì là phải rồi ...
Còn về vấn đề duty , thì trong data sheet có công thức tính đó , ứng với tần số thạch anh Fosc/4 , và tần số pwm Fpwm , bạn sẽ có độ phân giải của duty la bao nhiêu bit ...
Và tương ứng với giá trị mà bạn nạp vào PTMR+2 bit LSB nữa == giá trị duty max .
Bạn xem lại kỷ nhé .