This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1352P:cc1352 PWM 行为

Guru**** 2468610 points
Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1442486/cc1352p-cc1352-pwm-behavior

器件型号:CC1352P
主题中讨论的其他器件:SysConfig

工具与软件:

大家好!

我需要 cc1352在 PWM 边沿上发出中断、但这似乎无法正常工作。 以下是代码的一个简单片段:

void Pulse_Call back ( GPTimerCC26XX_Handle hTimer, int_fast16_t nStatus )

 //切换指示灯 LED
 GPIO_TOGGLE ( CONFIG_GPIO_27_LED_2 );
}//结束" Pulse_Call back ()"

pwm_init();
PWM_Params_init (&pwmParams );
pwmParams.periodValue = 400;
// 50%占空比
pwmParams.dutyValue =( uint32_t )((( uint64_t ) PWM_DUTY_FRACTION_MAX * 50 )/ 100 );
PWM_Handle hPwm = PWM_OPEN (CONFIG_EXC_CLK、&pwmParams);
if ( hPwm == NULL )

 // pwm_open()失败、在此停止
 while (true);
}// endif
PWMTimerCC26XX_Object* pObject = hPwm ->对象;
GPTimerCC26XX_Handle hTimer = pObject -> hTimer;
//在 匹配时生成中断
GPTimerCC26XX_registerInterrupt (hTimer、(GPTimerCC26XX_HwiFxn) Pulse_Call back、GPT_INT_MATCH);
PWM_START ( hPwm );

//停止此处仅用于测试
while (1);

当 Pulse_Call 信号在所选输出上正确可见时(通过 SysConfig 确定)、永远不会达到 PWM B。 这永远不会与 GPTimerCC26XX_Interrupt 屏蔽(即使用 GPT_INT_TIMEOUT、GPT_INT_CAPTURE_MATCH 、GPT_INT_CAPTURE_MATCH 或 GPT_INT_MATCH )的值无关
我的错误在哪里?

谢谢!

真诚的路易吉

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    路易吉、您好!

    如何使用 SysConfig 来验证 PWM 信号?

    一般来说、您是否已经看过我们的 pwmled2 SDK 示例?  

    如果我对您的理解正确、那么您想在其中一个 GPIO 上生成一个 Pwn 信号、然后在该 PWM 信号发生变化时执行回调?
    既然您知道占空比、为什么不使用它来触发回调?

    此致、
    等等

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Theo:

    很抱歉浪费时间:我确实发现了这个问题的根源:在获取正确的 SDK 时出错(我从客户处调出了一个非常旧的项目、因此我误认为旧项目"正常工作"、实际上不工作)、所以源代码使用错误的引用进行了编码。 打开一个全新的项目时、问题就会消失、并且在每个 PWM 上升 沿都生成正确的中断、这正是我所需要的
    问题得到了解决、谢谢