僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
7セグメントLEDの点滅に シェルスクリプトを使うと 遅かったが、外部コマンドの頻繁な呼び出し が原因である可能性を考えて、違う方法を試す。
この場合、GPIOは、
$ echo $num > /sys/class/gpio/export $ echo out > /sys/class/gpio/gpio${num}/direction $ echo 1 > /sys/class/gpio/gpio${num}/value $ echo $num > /sys/class/gpio/unexport
のようにアクセスする。使い分けはout/in と、out時の
1/0くらいか。
CLIでは一般ユーザでできたが、シェルスクリプトに
すると、スーパーユーザでないとdirectionへの
書き込みがPermission denied を喰らう。
で、
今度は"39"を表示させるスクリプトを実装。
切り替えは差分(一ヶ所)だけにしている。
dash(1)でも、外部コマンドはsleep(1)だけのはず。
今度は少し速くなった。が、奇妙なことに
10秒くらいかかる目算でできたスクリプトは
3秒めくらいまでちらつきが目立つ。そして
それ以降は急速に目立たなくなり、ほとんど
普通の点灯に見えるようになる。
それにしても、だんだんと速くなるのはなんでかしら。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。