[Armadillo:01623] Re: GPIOの割り込みについて
SAITOH Akinori
email@hidden
2007年 5月 29日 (火) 14:48:16 JST
齊藤です
村山周 wrote:
>>> GPIOモード設定の時に割り込みありのフラグを
>>> たてるだけだったとおもいます。
> 申し訳ありませんが、サンプルコードを教えていただいてもよろしいでしょうか?
とりあえずの例.GPIO7に停電センサのフォトカプラが
繋がっています.電源ONを待つのはbusywait, OFFを
待つ方が割り込み使用.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
//#include <sys/types.h>
#include <sys/ioctl.h>
#include <asm/arch/armadillo2x0_gpio.h>
#define DEVICE "/dev/gpio"
struct gpio_param
pwrfail ={NULL, GPIO7, MODE_INPUT, {{0,{1,TYPE_RISING_EDGE,}}}}
,
pwrstatus ={NULL, GPIO7, MODE_INPUT, {{0,}}}
;
int main(void)
{
int fd,pid;
struct wait_param w;
if ((fd = open(DEVICE, O_RDWR)) < 0) {
perror(DEVICE);
return -1;
}
//WAIT for DC12/24V power ON
do{
if (ioctl(fd, PARAM_GET, &pwrstatus) == -1) {
perror("SET");
return 1;
}
}while(pwrstatus.data.i.value==1);
//略
if (ioctl(fd, PARAM_SET, &pwrfail) == -1) {
perror("SET");
return 1;
}
w.list = GPIO7;
w.timeout = 0;
//WAIT for POWER FAIL
ioctl(fd, INTERRUPT_WAIT, &w);
system("reboot >/dev/console 2>&1 < /dev/console");
--
齊藤明紀 email@hidden
armadillo メーリングリストの案内