OC_SetCompareValue(.., OC_ABSOLUTE_VALUE) in oc_pal component

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

OC_SetCompareValue(.., OC_ABSOLUTE_VALUE) in oc_pal component

跳至解决方案
607 次查看
CharlesAlbert
Contributor II

I there,

I try to use a FTM counter to generate interruption at a desired time. Each time the interrup falls, I want to settle the next time (relative) it raises again. Interrupt can also be forced asynchronuously by setting the relative time very close to the current counter value.

I need two channels like because I want this beavior 2 times, I used OC_pal with a disable output. 

This normally allows me to generate interrupt when CnV value matches counter values CNT. Counter values shall count up to Mod values and restart (0-0xFFFF) continuously.

I did the following test with a counter at 1Mhz, at each interrupt I toggle a pin to check timing at scope.

- I use in the interrupt handler, OC_SetCompareValue(.., OC_ABSOLUTE_VALUE) to set a fixed value of 1000. I expect a period of 65,535 ms (one match per period of timer). Instead I have a period of arround 1ms? Why?

Is the CNT reload initial value when loading CnV register? how to avoid that? (I want the counter to always count).

Thanks a lot, 

 

 

0 项奖励
1 解答
558 次查看
CharlesAlbert
Contributor II

I found my issue: OC_SetCompareValue() call FTM_DRV_UpdateOutputCompareChannel(..) with the software trigger as TRUE! I change to not use the SW trigger and then I have the behavior I expect!

Thx.

在原帖中查看解决方案

0 项奖励
5 回复数
559 次查看
CharlesAlbert
Contributor II

I found my issue: OC_SetCompareValue() call FTM_DRV_UpdateOutputCompareChannel(..) with the software trigger as TRUE! I change to not use the SW trigger and then I have the behavior I expect!

Thx.

0 项奖励
590 次查看
ZhangJennie
NXP TechSupport
NXP TechSupport

Hi CharlesAlbert 

Please tell us your chip part number thus we can assign right engineer for your issue.

Thanks,

Jun Zhang

0 项奖励
557 次查看
CharlesAlbert
Contributor II
Please see my post below. I found that the SW triggers used in OC_SetCompareValue() created my issue.
0 项奖励
604 次查看
CharlesAlbert
Contributor II

CharlesAlbert_0-1670320262544.png

Found it myself

0 项奖励
605 次查看
CharlesAlbert
Contributor II

I change CNTIN value and it seems used at load of CnV.. How to avoid that reload? 

0 项奖励