Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

您好,我需要更新 GPT12 ISR 中的比較值,以便使用 TC375 產生一個 SVPWM 波形。

我已經從 2 個例子即集成代碼。

CCU6_PWM 產生,以及 GPT12 _ 計時器中斷 _1。

我希望我的 SVPWM 代碼在 GPT12 ISR 中執行,以便 CAN 生成新的佔空比並 CAN 更新比較值。

但是,InitCCU6 () 函數中的 IFXCCU6_ 無模組啟用 () 會產生問題。 對於初始工作比,我得到了我想要的任何輸出,但工作比率在 ISR 中沒有更新。 我懷疑這是因為這個錯誤。error.PNG

 

有沒有人遇到類似的問題? CAN 採取什麼措施來糾正這個問題?

1 回應
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 @Sneha24 ,

我已經準備了新的 ADS 項目,通過選擇 TC375 工具,並在 VMPWM.C 複製和修改了 CCU6_PWM_ 生成 _1_Kit_TC375_LK 和 GPT12_ 計時器 _ 中斷 _TC375_LK 源文件和頭文件,請參閱附件。

新的工作週期在 GPT12 中斷期間更新,如下所示:

/* GPT12 的中斷服務常式 */
無效中斷 (無效)
{
IFX 端口 _ 切換引腳 (LED); /* 切換 LED 狀態 */ /* 設定三個通道的工作週期 */ g_
CMP 值 [0] += 25;
/* 設定通道 1 的比較值 */ 如果 (G_CMP_0 值)] = 通道 1_ 比較 _ 值;
>

G_CMP值 [1] += 50;/* 設定通道 2 的比較值 */
如果 (G_CMP 值 [1] = 4500) G_CMP 值 [1] = 通道 2_ 比較值;>

G_CMP值 [2] += 75;/* 設定通道 3 的比較值 */
如果 (G_CMP 值 [2] = 4500) G_CMP 值 [2] = 通道 3_ 比較值;>

更新驅動程序(g 驅動程序,& G_CMP值); /* 應用比較值 */
IFXCCU6_ 計時器與觸發器應用更新(g_驅動程序.定時器);}

您 CAN 使用 SVPWM API 的輸出更新 g_cmpValues,在本例中,它只是遞增並在達到 4500 時設置為初始值。

最好的反對者

GMCTRL

0