]> rtime.felk.cvut.cz Git - fpga/zynq/mzed-dc-control-sw.git/commitdiff
fitst version of irc read test
authorTomas Nepivoda <nepivtom@fel.cvut.cz>
Fri, 13 May 2016 09:49:30 +0000 (11:49 +0200)
committerTomas Nepivoda <nepivtom@fel.cvut.cz>
Fri, 13 May 2016 09:49:30 +0000 (11:49 +0200)
src/irc_test/irc.c [new file with mode: 0644]

diff --git a/src/irc_test/irc.c b/src/irc_test/irc.c
new file mode 100644 (file)
index 0000000..881b7f7
--- /dev/null
@@ -0,0 +1,48 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <poll.h>
+
+void main(){
+       int i;
+       struct pollfd pfd;
+       char array[10000][2];
+       char tmp[1];
+
+       char a[2];ยจ
+
+       char b[2];
+
+       int irc_A, irc_B, irc_IRQ;
+       irc_A = open("/sys/class/gpio/gpio917/value", O_RDONLY);
+       irc_B = open("/sys/class/gpio/gpio918/value", O_RDONLY);
+       irc_IRQ = open("/sys/class/gpio/gpio906/value", O_RDONLY);
+       //irc_IRQ = open("/sys/class/gpio/gpio957/value", O_RDONLY);
+       pfd.fd = irc_IRQ;
+       pfd.events = POLLPRI;
+       if(irc_IRQ < 0){
+               printf("IRC_IRQ export failed!");
+       }
+       for(i=0;i<10000;i++){           
+               lseek(irc_IRQ, 0, SEEK_SET);
+               read(irc_IRQ, tmp,1);
+
+               poll(&pfd, 1, -1); 
+               lseek(irc_A, 0, SEEK_SET);
+               read(irc_A, a, 1);
+               lseek(irc_B, 0, SEEK_SET);
+               read(irc_B, b, 1);
+               array[i][0] = a[0];
+
+               array[i][1] = b[0];
+       }
+       close(irc_IRQ);
+
+       //printf("                                 flag\n");
+       for(i=0;i<10000;i++){
+               printf("%c ", array[i][0]);
+               printf("%c\n", array[i][1]);
+       }
+       printf("finished!\n");
+}