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.

[参考译文] RTOS/CC3220MOD:PWM 时间常数过长

Guru**** 2564410 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/664743/rtos-cc3220mod-pwm-time-constant-too-long

器件型号:CC3220MOD

工具/软件:TI-RTOS

您好!

在我的应用中、我必须生成可变电压电平。

我正在使用的定制电路板具有路由到 CC3220MODSF 上 PWM5的"可变电压输出"、因此我将使用 PWM 进行此操作。

以下是在 TI-RTOS 线程内运行的代码示例:

   PWM_Params pwmparams;
   PWM_PARAMS_INIT (&pwmparams);
   pwmparams.dutyUnits = PWM_Duty_US;
   pwmparams.dutyValue = 600;
   pwmparams.periodUnits = PWM_PERIOD_US;
   pwmparams.periodValue = 1000;
   pwm5_handle = PWM_open (Board_PWM5、&pwmparams);
   if (pwm5_handle = NULL){
       UART_PRINT ("PWM Error\n");
   }

   for (;;){
       PWM_START (pwm5_handle);
      usleep (1500000);
      /*在此处执行任务*/
      PWM_STOP (pwm5_handle);
   }

问题在于我必须插入的指令 usleep (1500000)、因为当我启动 PWM 时、上升到大约3V 所需的时间超过一秒。

在图片中、您可以找到来自电路板 PWM-out (小巷)的波形。

这是 CC3220 PWM 限制吗?这是由于硬件项目问题造成的、还是代码中缺少某些内容?

提前感谢您

Damiano

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

    尊敬的 Damiano:

    只需检查一下、您是否在发布代码之前运行了该函数来初始化 PWM 模块?

    /*调用驱动程序初始化函数。 *
    PWM_init(); 

    您能否尝试不同的 PWM 信号(不同的引脚)并查看是否遇到相同的问题? 您使用的线路上可能有负载、这会导致上升/下降时间延迟。

    最棒的

    Kevin

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

    一段时间内没有听到过您的声音、我将假定您能够解决您的问题。 如果不是这种情况、请对此线程发布响应、或者如果该线程已锁定、请创建新线程。

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

    最后回顾一下我发现这是一个错误(通过设计?) 在引入了较长时间常数(大约1、6秒)的硬件工程师中、可能不考虑在正常运行期间打开/关闭 PWM。

    谢谢你。