18. 钛极OS之TiPWM

钛极OS之TiPWM

 

  脉冲宽度调制(Pulse-width modulation)简称PWM,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。具体可参考https://baike.baidu.com/item/%E8%84%89%E5%86%B2%E5%AE%BD%E5%BA%A6%E8%B0%83%E5%88%B6?fromtitle=PWM&fromid=3034961https://en.wikipedia.org/wiki/Pulse-width_modulation

  TiJOS Framework提供TiPWM来支持PWM功能,其将PWM按照port分组,共支持256组,组号范围0-255,即:port0-port255;其中每组内按照channel划分16通道,16个通道使用相同的脉冲频率,通道范围0-15,即:channel0-channel15;每组都支持指定模式的单独设置、每个通道都支持单独的占空比控制。

 

  Java包

  tijos.framework.devicecenter

 

  TiPWM方法定义

  TiPWM类中主要的方法:

 

方法说明
TiPWM open(int portID, int... channelIDs)静态方法,通过指定port和channel集合打开PWM,返回TiPWM对象
void close()关闭当前对象
void setFrequency(int freqValue)设置脉冲频率
setDutyCycle(int channelID, double duty)设置脉冲占空比,0 - 1: 0% - 100%
void updateFreqAndDuty()更新周期和占空比


  TiPWM类中他方法的技术说明请参考TiJOS Framework说明文档。

 

  TiPWM对象创建与销毁

  TiPWM对象的创建需要调用open静态方法,传入指定port和channel集合参数,返回创建的接口对象。

  TiPWM对象的销毁需要调用close方法。

  1. <font size="3">...
  2. int pwmPort0 = 0;
  3. int pwmChannel0 = 0; //定义channel集合
  4. int pwmChannel1 = 1;
  5. int pwmChannel2 = 2;
  6. TiPWM pwm0 = TiPWM.open(pwmPort0, pwmChannel0, pwmChannel1, pwmChannel2);
  7. ...
  8. ...</font>
  9. <font size="3">...
  10. pwm0.close();</font>
复制代码  
  TiPWM输出控制

  TiPWM的输出控制通过setFrequency、setDutyCycle和updateFreqAndDuty方法完成。

  1. <font size="3">...
  2. Random random = new Random();//使用伪随机数引擎
  3. pwm0.setFrequency(1000);//1Khz
  4. while(true) {
  5. int ch0=0, ch1=0, ch2=0;
  6. int max=255;
  7. int min=0;
  8. ch0 = random.nextInt(max)%(max-min+1) + min;
  9. ch1 = random.nextInt(max)%(max-min+1) + min;
  10. ch2 = random.nextInt(max)%(max-min+1) + min;
  11. //改变占空比
  12. pwm0.setDutyCycle(pwmChannel0, ch0 / 255);
  13. pwm0.setDutyCycle(pwmChannel1, ch1 / 255);
  14. pwm0.setDutyCycle(pwmChannel2, ch2 / 255);
  15. //更新
  16. pwm0.updateFreqAndDuty();
  17. ...</font>
复制代码  注意:脉冲频率和占空比的支持受平台特性限制,设置时须了解硬件平台特性。


  更多详细介绍请见钛云物联官网:www.tijos.net
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值