ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:isegwrite

文書の過去の版を表示しています。


IsegWrite()

IsegWrite()は指定位置にセグメントデータを出力します。

IsegWrite コマンドの動作フロー

bool IsegWrite(const uint8_t segments[], uint8_t length = 4, uint8_t position = 0, uint8_t device = 0)

コマンド

コマンド 引数 戻り値 動作
IsegWrite(segments, length, position, device) const uint8_t segments[] — 各桁のXGFEDCBAセグメントビット配列
uint8_t length = 4 — 書き込む桁数1~4
uint8_t position = 0 — 書き込み開始位置0~3、左端の桁が0
uint8_t device = 0 — FND装置番号0~6、省略時は0
bool 指定位置にセグメントデータを出力します。

使用例

const uint8_t CLK_PIN = 14;
const uint8_t DIO_PIN = 15;
 
void setup() {
  IsegBegin(CLK_PIN, DIO_PIN, 100, 0);  // TM1637 FNDのCLK・DIOピンとデバイス番号を設定します。
  IsegBrightness(5, true, 0);  // 画面の明るさと表示状態を設定します。
}
 
void loop() {
  const uint16_t value = analogRead(A0);  // 指定チャンネルの生のアナログ値を読み取ります。
  uint8_t digits[4] = {
    IsegEncodeDigit((value / 1000) % 10),  // 数字1桁をセグメントデータに変換します。
    IsegEncodeDigit((value / 100) % 10),  // 数字1桁をセグメントデータに変換します。
    IsegEncodeDigit((value / 10) % 10),  // 数字1桁をセグメントデータに変換します。
    IsegEncodeDigit(value % 10)  // 数字1桁をセグメントデータに変換します。
  };
  IsegWrite(digits, 4, 0, 0);  // セグメントデータを指定位置に出力します。
  delay(100);
}

注意事項

  • TM1637 IC内蔵の4桁FND専用です。一般的なマルチプレクスFNDを直接駆動するコマンドではありません。
  • IsegBegin()の呼び出しに成功してから表示コマンドを使用します。
  • CLKとDIOに同じピンを指定した場合、または装置番号が7以上の場合は初期化されません。
  • length + positionは4以下にしてください。範囲に合わない数値は表示せず、falseを返します。
  • 通信中は数ms間実行がブロックされる場合があるため、割り込みサービスルーチン内で呼び出しません。
  • 指定したピンはUART、PWM、エンコーダ、外部割り込みなどの他の機能と同時使用しません。
  • FNDの電源・信号電圧は実際のモジュールと製品取扱説明書で確認してください。

← 内蔵コマンド一覧

ja-jp_commands/reference/isegwrite.1788791738.txt.gz · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki