4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Wio LTE PWM出力

Posted at

Wio LTEのPWM出力を試しました。

使い方

PWM出力するピンをpinMode()で初期化して、

pinMode(WIOLTE_D38, PWM);

analogWrite()でPWM出力のデューティ比を指定します。

analogWrite(WIOLTE_D38, 200);

ArduinoリファレンスのanalogWrite()に0~255の範囲でデューティ比が0~100%とありますが、Wio LTEの場合は0~65535が0~100%になります。

スケッチ例

#include <WioLTEforArduino.h>

WioLTE Wio;

void setup() {
  delay(200);

  SerialUSB.println("");
  SerialUSB.println("--- START ---------------------------------------------------");
  
  SerialUSB.println("### I/O Initialize.");
  Wio.Init();
  pinMode(WIOLTE_D38, PWM);

  SerialUSB.println("### Setup completed.");
}

void loop() {

  for (int i = 0; i < 65536; i += 1024) {
    analogWrite(WIOLTE_D38, i);
    delay(1);
  }
}

実行結果

image.png

PWMの周期は0.793ミリ秒でした。周波数だと1260Hz。周期を変更する関数を探しましたが見つかりませんでした。周期を変更したいときは、STM32F4のレジスタを操作するしかなさそうです。

PWM出力できるピン

今回、D38で確認しましたが、、、プログラムを確認した感じではD38,D39,D20,D19でPWM出力できるようです。実際に動かしてはいません。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?