F4A0或F448,写原厂SDK的人,咨询TIMER4的技术问题。
TIMER4的初始化参数,在XHSC XHCode工具中没有体现出来,
比如TIMER4的高边PWM通道,和TIMER4的低边PWM初始化,没看到什么资料。
有没有人能对下面的一些设置进行详细说明,我感觉它的设置是非常 灵活的,但却不会使用,
可以对高边和低边PWM通道初始化互换吗?好像不能直接我互换,有大佬可以指导吗?
unTmr4OcOcmrh.OCMRx = 0x0000;
TMR4_OC_SetHighChCompareMode(CM_TMR4_3,TMR4_OC_CH_UH,unTmr4OcOcmrh);
TMR4_OC_SetHighChCompareMode(CM_TMR4_3,TMR4_OC_CH_VH,unTmr4OcOcmrh);
/* TMR4 OCO low channel: compare mode OCMR[31:0] 0x0FF0 0FFF = b 0000 1111 1111 0000 0000 1111 1111 1111 */
unTmr4OcOcmrl.OCMRx_f.OCFDCL = TMR4_OC_OCF_SET; /* bit[0] 1 */
unTmr4OcOcmrl.OCMRx_f.OCFPKL = TMR4_OC_OCF_SET; /* bit[1] 1 */
unTmr4OcOcmrl.OCMRx_f.OCFUCL = TMR4_OC_OCF_SET; /* bit[2] 1 */
unTmr4OcOcmrl.OCMRx_f.OCFZRL = TMR4_OC_OCF_SET; /* bit[3] 1 */
unTmr4OcOcmrl.OCMRx_f.OPDCL = TMR4_OC_INVT; /* bit[5:4] 11 */
unTmr4OcOcmrl.OCMRx_f.OPPKL = TMR4_OC_INVT; /* bit[7:6] 11 */
unTmr4OcOcmrl.OCMRx_f.OPUCL = TMR4_OC_INVT; /* bit[9:8] 11 */
unTmr4OcOcmrl.OCMRx_f.OPZRL = TMR4_OC_INVT; /* bit[11:10] 11 */
unTmr4OcOcmrl.OCMRx_f.OPNPKL = TMR4_OC_HOLD; /* bit[13:12] 00 */
unTmr4OcOcmrl.OCMRx_f.OPNZRL = TMR4_OC_HOLD; /* bit[15:14] 00 */
unTmr4OcOcmrl.OCMRx_f.EOPNDCL = TMR4_OC_HOLD; /* bit[17:16] 00 */
unTmr4OcOcmrl.OCMRx_f.EOPNUCL = TMR4_OC_HOLD; /* bit[19:18] 00 */
unTmr4OcOcmrl.OCMRx_f.EOPDCL = TMR4_OC_INVT; /* bit[21:20] 11 */
unTmr4OcOcmrl.OCMRx_f.EOPPKL = TMR4_OC_INVT; /* bit[23:22] 11 */
unTmr4OcOcmrl.OCMRx_f.EOPUCL = TMR4_OC_INVT; /* bit[25:24] 11 */
unTmr4OcOcmrl.OCMRx_f.EOPZRL = TMR4_OC_INVT; /* bit[27:26] 11 */
unTmr4OcOcmrl.OCMRx_f.EOPNPKL = TMR4_OC_HOLD; /* bit[29:28] 00 */
unTmr4OcOcmrl.OCMRx_f.EOPNZRL = TMR4_OC_HOLD; /* bit[31:30] 00 */
TMR4_OC_SetLowChCompareMode(CM_TMR4_3,TMR4_OC_CH_UL,unTmr4OcOcmrl);
TMR4_OC_SetLowChCompareMode(CM_TMR4_3,TMR4_OC_CH_VL,unTmr4OcOcmrl);
|