ESP8266 Developer Zone The Official ESP8266 Forum 2016-02-05T10:15:56+08:00 https://bbs.espressif.com:443/feed.php?f=65&t=1713 2016-02-05T10:15:56+08:00 2016-02-05T10:15:56+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1713&p=5691#p5691 <![CDATA[Re: 关于GPIO4和GPIO5 PWM输出电压问题]]>
FRC1_CTRL_ADDRESS 的定义在 ESP8266_RTOS_SDK\include\espressif\esp8266\Timer_register.h 中。

感谢您对 ESP8266 的关注!

Statistics: Posted by ESP_Faye — Fri Feb 05, 2016 10:15 am


]]>
2016-02-04T23:01:36+08:00 2016-02-04T23:01:36+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1713&p=5686#p5686 <![CDATA[Re: 关于GPIO4和GPIO5 PWM输出电压问题]]> 另外,还是期望你们的文档能够跟上,至少关键性的数据不能有问题,否则会让我们开发人员走很多弯路,浪费大量时间,因为要证明是你们这边的问题还是要浪费大量无谓的精力的!

顺便再问一个问题,之前你们回复坛友的帖子里说:要停止PWM可以关闭FRC1中断

Code:

RTC_CLR_REG_MASK(FRC1_CTRL_ADDRESS, FRC1_ENABLE_TIMER)

但我使用以后提示无法找到FRC1_ENABLE_TIMER定义,是什么原因?

Statistics: Posted by mengzawj — Thu Feb 04, 2016 11:01 pm


]]>
2016-02-04T16:40:38+08:00 2016-02-04T16:40:38+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1713&p=5681#p5681 <![CDATA[Re: 关于GPIO4和GPIO5 PWM输出电压问题]]>
请问,占空比从 22222 改为 1023 还是会有问题吗?

Statistics: Posted by ESP_Faye — Thu Feb 04, 2016 4:40 pm


]]>
2016-02-02T22:03:23+08:00 2016-02-02T22:03:23+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1713&p=5637#p5637 <![CDATA[Re: 关于GPIO4和GPIO5 PWM输出电压问题]]>

Code:

   if (duty != s_pwmCurrDuty[channelNo]) {
      int i;

      pwm_set_duty(duty, channelNo);
      s_pwmCurrDuty[channelNo] = pwm_get_duty(channelNo);
      pwm_start();
      DEBUG_PRT("Duty setted: channel=%d, duty=%d\r\n", channelNo, pwm_get_duty(channelNo));
      DEBUG_PRT("Other dutys:\r\n");
      for (i = 0; i < PWM_CHANNEL_NUM; i++) {
         if (i != channelNo) DEBUG_PRT("channel=%d, duty=%d\r\n", i, pwm_get_duty(i));
      }
   }


每次设置完duty会把本次设置以后本次设置通道和其他通道的duty值用pwm_get_duty()读取打印一遍

运行后代码中DEBUG_PRT串口输出是

Code:

Duty setted: channel=1, duty=22222
Other dutys:
channel=0, duty=22222
channel=2, duty=0
Duty setted: channel=1, duty=0
Other dutys:
channel=0, duty=22222
channel=2, duty=0


从打印结果来看,在设置通道0的duty以后,其他通道的duty并没有改变,但实际硬件IO口输出却改变了。
所有设置占空比的地方都是调用这段代码的,所以如果中间有其他地方设置占空比,串口会打印出来,现在只有两次打印,所以应该是没有其他地方改变占空比!

Statistics: Posted by mengzawj — Tue Feb 02, 2016 10:03 pm


]]>
2016-02-02T21:48:56+08:00 2016-02-02T21:48:56+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1713&p=5636#p5636 <![CDATA[Re: 关于GPIO4和GPIO5 PWM输出电压问题]]>
Espressif_Faye wrote:
您好,

非常抱歉,RTOS 的 PWM 描述没有更新,RTOS 下 PWM 频率最大值为 1K, duty 精度级数为 1023。

您可以参考附件更新 RTOS PWM。


您好,非常感谢回复!

我现在的频率设置就是1K
至于精度等级,我只设置了0和最大值22222两个占空比数值,没有设置其他值
而现在的问题是改变其中一个通道的占空比值另外两个也跟着一起变了

Statistics: Posted by mengzawj — Tue Feb 02, 2016 9:48 pm


]]>
2016-02-02T12:08:43+08:00 2016-02-02T12:08:43+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1713&p=5620#p5620 <![CDATA[Re: 关于GPIO4和GPIO5 PWM输出电压问题]]>
非常抱歉,RTOS 的 PWM 描述没有更新,RTOS 下 PWM 频率最大值为 1K, duty 精度级数为 1023。

您可以参考附件更新 RTOS PWM。
RTOS_PWM_Light.zip

Statistics: Posted by ESP_Faye — Tue Feb 02, 2016 12:08 pm


]]>
2016-02-01T16:04:41+08:00 2016-02-01T16:04:41+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1713&p=5597#p5597 <![CDATA[Re: 关于GPIO4和GPIO5 PWM输出电压问题]]>
Espressif_Faye wrote:
您好,

请问您的芯片是 ESP8266 还是 ESP8266EX ?



芯片是ESP8266EX,在GPIO4、GPIO5、GPIO12上共开通三路pwm,初始化信息如下:

Code:

{PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4, 4},
{PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5, 5},
{PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12, 12}


设置占空比部分的代码如下:

Code:

   if (duty != s_pwmCurrDuty[channelNo]) {
      pwm_set_duty(duty, channelNo);
      s_pwmCurrDuty[channelNo] = pwm_get_duty(channelNo);
      pwm_start();
      DEBUG_PRT("Duty setted: channel=%d, duty=%d\r\n", channelNo, pwm_get_duty(channelNo)); //只要某个通道的占空比改变,就会通过串口输出设置的值
   }

运行中间串口输出的记录如下:
Duty setted: channel=0, duty=0
Duty setted: channel=0, duty=22222

存在的问题:
1. 运行期间,只改变了通道0的占空比(从串口打印结果来看输入参数也应该是没问题的),但结果是三路pwm跟着一起变了,接LED观察和用万用表测量电压都显示这个结果。
2.另外测试改变通道1和2,也是另外两个跟着一起变。而且这时存在另外一个现象就是:duty值是从0~22222变化,而改变通道1或者2的时候,输出电压是在2.9V~3.05V之间变化(万用表测量结果)

这是什么问题?已经两天了,没有找到原因,用串口监控打印输入SDK PWM接口函数的参数,都是没有问题的。

SDK是用的RTOS SDK版本

Statistics: Posted by mengzawj — Mon Feb 01, 2016 4:04 pm


]]>
2016-02-01T13:51:52+08:00 2016-02-01T13:51:52+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1713&p=5594#p5594 <![CDATA[Re: 关于GPIO4和GPIO5 PWM输出电压问题]]>
请问您的芯片是 ESP8266 还是 ESP8266EX ?

Statistics: Posted by ESP_Faye — Mon Feb 01, 2016 1:51 pm


]]>
2016-02-01T00:15:14+08:00 2016-02-01T00:15:14+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1713&p=5585#p5585 <![CDATA[关于GPIO4和GPIO5 PWM输出电压问题]]> 我参照PWM接口文档开了三路PWM,分别是GPIO12、GPIO4、和GPIO5,其中GPIO4、和GPIO5不管是设置占空比等于0还是等于最大值22222(频率1KHz),输出电压变化很小,变化范围在2.9V~3.1V之间,但GPIO12是正常的,三路PWM的控制过程都是一致的,这是什么原因?

Statistics: Posted by mengzawj — Mon Feb 01, 2016 12:15 am


]]>