[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 メーリングリストの案内