NCU240如何啟動PWM的Interrupt功能? 或是如何檢查PWM可以再写CMR?

gamester |浏览933次
收藏|2018/08/16 11:51

1) 設定 one-shot & Interrupt, 但好像都進不了 Interrupt.
2) 如果用 Polling mode, 要如何知道 PWM Tx buffer 空了(or 未滿)可以再塞資料 ?

另外, 設定了 one-shot mode, 如果在 1st data 送出後, 再啟動下一筆 ?


以下這樣子行嗎 ?

intdat=0;

void PWMA_IRQHandler(void)

{

PWM_SET_CMR(PWMA, 0, dat++);

if (dat>=12) dat=0;

PWMA->PIIR = 0x01;

PB4 ^= 1;

}


满意回答

2022/09/06 18:01

PWM 的占空比寄存器是双缓存,随时可以写,只有到下个PWM 周期,写入的新值才有效.

如果希望每个周期都修改占空比,可以设置one-shot模式,然后在中断里面修改CMR。你的代码没有问题

Angus

其他回答(0)
0人关注该问题
+1
 加载中...