Armadilloフォーラム

Armadillo-X1のGPIOのチャタリングについて

yonehara

2020年8月25日 15時47分

お世話になっております。

現在、Armadillo-X1のGPIOのコーディングをしております。

GPIOの値を「/sys/class/gpio/gpio138/value」の値を定期的に確認することで、センサー入力が取れることまでは確認することができました。
次にチャタリング防止について検討をしているのですが、GPIOのドライバでチャタリング対策はされていますでしょうか?

ご教授していただけますと幸いです。

コメント

at_akihito.irie

2020年8月26日 13時07分

入江です。

> 次にチャタリング防止について検討をしているのですが、GPIOのドライバでチャタリング対策はされていますでしょうか?
Armadillo-X1のハードウェアにも、GPIOのドライバにもチャタリングを防止す
るする機能はございません。

ただし、gpio-keysにはチャタリング防止機能がございます。

armadillo-x1.dts内のgpio-keysにノードを追加して、プロパティに
「debounce-interval = <デバウンス時間(msec)>」を設定することで、チャタ
リングを防止することが可能です。
詳細については、カーネルのソースファイル内の
Documentation/devicetree/bindings/input/gpio-keys.txtをご参照ください。

また、gpio-keysを用いる場合、/sys/class/gpio/gpio*/valueから値を取得す
ることはできません。

gpio-keysの値の取得方法については以下のフォーラムが参考になると思います。
https://armadillo.atmark-techno.com/forum/armadillo/2125
上記フォーラム中のCソースの表示が一部乱れてしまっていますので、添付い
たします。

ファイル ファイルの説明
get_gpio_key_value.c gpio_keysの値を取得するプログラムのCソースファイル

yonehara

2020年8月26日 15時14分

入江様

お教え頂きありがとうございます。

gpioにチャタリング防止の機能がないこと、gpio-keysにはチャタリング防止の機能がある件、把握致しました。
添付資料など参考にさせていただきます。