#include <fcntl.h>
#include <unistd.h>
#include <poll.h>
+#include <time.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdint.h>
+#include <sys/mman.h>
+#include <pthread.h>
+#include <signal.h>
+
+int base_task_prio;
void main(){
int i;
struct pollfd pfd;
- char array[10000][2];
+ char array[50000][2];
char tmp[1];
+ char a[2];
+ char b[2];
- char a[2];ยจ
+ pthread_attr_t attr;
+ struct sched_param schparam;
+ if (pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED) != 0) {
+ fprintf(stderr, "pthread_attr_setinheritsched failed\n");
+ }
- char b[2];
+ if (pthread_attr_setschedpolicy(&attr, SCHED_FIFO) != 0) {
+ fprintf(stderr, "pthread_attr_setschedpolicy SCHED_FIFO failed\n");
+ }
+
+ int fifo_min_prio = sched_get_priority_min(SCHED_FIFO);
+ int fifo_max_prio = sched_get_priority_max(SCHED_FIFO);
+ base_task_prio = fifo_max_prio - 20;
+ if (base_task_prio < fifo_min_prio){
+ base_task_prio = fifo_min_prio;
+ }
+
+ schparam.sched_priority = base_task_prio;
int irc_A, irc_B, irc_IRQ;
irc_A = open("/sys/class/gpio/gpio917/value", O_RDONLY);
if(irc_IRQ < 0){
printf("IRC_IRQ export failed!");
}
- for(i=0;i<10000;i++){
+ for(i=0;i<50000;i++){
lseek(irc_IRQ, 0, SEEK_SET);
read(irc_IRQ, tmp,1);
close(irc_IRQ);
//printf(" flag\n");
- for(i=0;i<10000;i++){
+ for(i=0;i<50000;i++){
printf("%c ", array[i][0]);
printf("%c\n", array[i][1]);
}