[Armadillo:06482] Re: Armadillo-420のSW1について。

mizo email@hidden
2011年 1月 7日 (金) 12:49:07 JST


溝渕です。

東海ファームウェア(株) 小林 wrote:
> EVENT、取りこぼしても良い
> 両方の動作方法についてさらに教えていただいて宜しいでしょうか?
> 
> EVENTのやり方については、全くわからず、
> 割り込みの設定の仕方、ハンドルの作成方法等教えてください。
> 
> 取りこぼしても良い仕様の場合で
> 値を取得する方法は、下記文法であっているのでしょうか?
> 
> 基本的話で申し訳ないのですが、SW1のDEV_NAMEは、何になるのでしょうか?
> また、このような文献はどこにありますでしょうか?
> 
> #define DEV_NAME  ←これの名前がわからない・・・

/dev/input/eventXになります。このファイルは、カーネルがデバイスを認識し
た順に"X"を決定します。

なので、
atmark-dist-[version]/vendors/AtmarkTechno/Armadillo-4x0.Common/swmgr/main.c
を参考にコードを書くと良いと思います。

> int fd;
> char val;
> 
> fd = open(DEV_NAME,O_RDWR|O_NONBLOCK);
> read(fd, &val, 1);

read()の戻り値を保存してください。このようにopen()すると、イベントが来て
ない状態であっても処理をブロックしません。

イベントが来ていない状態だと、read()が失敗します。
int ret = read(fd, &val, 1);
if (ret != sizeof(event))
	// イベントが発生していない
else
	// イベントが発生していた
となります。

以上です。




armadillo メーリングリストの案内