您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ wiringPiISR函数代码示例

51自学网 2021-06-03 09:59:33
  C++
这篇教程C++ wiringPiISR函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中wiringPiISR函数的典型用法代码示例。如果您正苦于以下问题:C++ wiringPiISR函数的具体用法?C++ wiringPiISR怎么用?C++ wiringPiISR使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了wiringPiISR函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int main(){	wiringPiSetup();	pinMode(0,OUTPUT);	pinMode(2,INPUT);	pinMode(3,INPUT);	softPwmCreate(0,0,100);	wiringPiISR(2,INT_EDGE_BOTH,updateEncoder);	wiringPiISR(3,INT_EDGE_BOTH,updateEncoder);	softPwmWrite(0,100);	delay(2000);	isr=0;	pomiar1=millis();	softPwmWrite(0,100);	delay(12000);	pomiar2=millis();	softPwmWrite(0,0);	softPwmWrite(0,100);	delay(3000);	wynik=pomiar2-pomiar1;	printf("Pomiar czasu: %i/n",wynik);	delay(1000);	predkosc=(isr*0.000119047)*(60000/wynik);	printf("Predkosc: %f/n",predkosc);	return;}
开发者ID:Misiek1992,项目名称:Praca-in-ynierska,代码行数:26,


示例2: printf

struct encoder *setupencoder(int pin_a, int pin_b, int pin_switch = -1){   if (numberofencoders > max_encoders)   {      printf("Maximum number of encodered exceded: %i/n", max_encoders);      return NULL;   }   struct encoder *newencoder = encoders + numberofencoders++;   newencoder->pin_a = pin_a;   newencoder->pin_b = pin_b;   newencoder->pin_switch = pin_switch;   newencoder->value = 0;   newencoder->lastEncoded = 0;   newencoder->switchpresscount = 0;   newencoder->lasttime = 0;   pinMode(pin_a, INPUT);   pinMode(pin_b, INPUT);   pullUpDnControl(pin_a, PUD_UP);   pullUpDnControl(pin_b, PUD_UP);   wiringPiISR(pin_a, INT_EDGE_BOTH, updateEncoders);   wiringPiISR(pin_b, INT_EDGE_BOTH, updateEncoders);   if (pin_switch != -1)   {      pinMode(pin_switch, INPUT);      pullUpDnControl(pin_switch, PUD_UP);      wiringPiISR(pin_switch, INT_EDGE_FALLING, updateSwitch);   }   return newencoder;}
开发者ID:seeingwithsound,项目名称:After-Sight-Model-1,代码行数:32,


示例3: main

int main(int argc, char **argv){    wiringPiSetupPhys();    pullUpDnControl(16, 1);    wiringPiISR (16, INT_EDGE_FALLING, &myInterrupt1) ;    pullUpDnControl(18, 1);    wiringPiISR (18, INT_EDGE_FALLING, &myInterrupt2) ;    pullUpDnControl(8, 1);    wiringPiISR (8, INT_EDGE_FALLING, &myInterrupt3) ;    pullUpDnControl(10, 1);    wiringPiISR (10, INT_EDGE_FALLING, &myInterrupt4) ;    /*pullUpDnControl(3, 1);    wiringPiISR (3, INT_EDGE_FALLING, &myInterrupt5) ;    pullUpDnControl(5, 1);    wiringPiISR (5, INT_EDGE_FALLING, &myInterrupt6) ;*/    while(1)    {        delay (100) ;		// mS    }}
开发者ID:LeMaker,项目名称:WiringLMK,代码行数:28,


示例4: printf

struct encoder *setupencoder(int pin_a, int pin_b, int pin_btn) {    if (N_ENCODERS > MAX_ENCODERS) {        printf("Maximum number of encodered exceded: %i/n", MAX_ENCODERS);        return NULL;    }    struct encoder *newencoder = encoders + N_ENCODERS++;    newencoder->pin_a = pin_a;    newencoder->pin_b = pin_b;    newencoder->pin_btn = pin_btn;    newencoder->value = 0;    newencoder->lastEncoded = 0;    newencoder->button_was_pressed = false;    newencoder->button_was_released = false;    pinMode(pin_a, INPUT);    pinMode(pin_b, INPUT);    pinMode(pin_btn, INPUT);    pullUpDnControl(pin_a, PUD_UP);    pullUpDnControl(pin_b, PUD_UP);    pullUpDnControl(pin_btn, PUD_UP);    wiringPiISR(pin_a,INT_EDGE_BOTH, updateEncoders);    wiringPiISR(pin_b,INT_EDGE_BOTH, updateEncoders);    wiringPiISR(pin_btn,INT_EDGE_BOTH, updateButton);    return newencoder;}
开发者ID:studentkittens,项目名称:eulenfunk,代码行数:29,


示例5: jshPinWatch

IOEventFlags jshPinWatch(Pin pin, bool shouldWatch) {  if (jshIsPinValid(pin)) {    IOEventFlags exti = getNewEVEXTI();    if (shouldWatch) {      if (exti) {        gpioEventFlags[pin] = exti;        jshPinSetState(pin, JSHPINSTATE_GPIO_IN);#ifdef SYSFS_GPIO_DIR        gpioShouldWatch[pin] = true;        gpioLastState[pin] = jshPinGetValue(pin);#endif#ifdef USE_WIRINGPI        wiringPiISR(pin, INT_EDGE_BOTH, irqEXTIs[exti-EV_EXTI0]);#endif      } else         jsError("You can only have a maximum of 16 watches!");    }    if (!shouldWatch || !exti) {      gpioEventFlags[pin] = 0;#ifdef SYSFS_GPIO_DIR      gpioShouldWatch[pin] = false;#endif#ifdef USE_WIRINGPI      wiringPiISR(pin, INT_EDGE_BOTH, irqEXTIDoNothing);#endif    }    return shouldWatch ? exti : EV_NONE;  } else jsError("Invalid pin!");  return EV_NONE;}
开发者ID:Tiancheng-Luo,项目名称:Espruino,代码行数:31,


示例6: wiringPiISR

cRCreceiver::cRCreceiver(){	wiringPiISR(RC_RHS_LEFTRIGHT_PIN, INT_EDGE_BOTH, &startStopR_LRTimer);	wiringPiISR(RC_RHS_UPDOWN_PIN, 	  INT_EDGE_BOTH, &startStopR_UDTimer);	wiringPiISR(RC_LHS_LEFTRIGHT_PIN, INT_EDGE_BOTH, &startStopL_LRTimer);	wiringPiISR(RC_LHS_UPDOWN_PIN, 	  INT_EDGE_BOTH, &startStopL_UDTimer);}
开发者ID:bmhuggett,项目名称:D4,代码行数:7,


示例7: printf

struct zyncoder_st *setup_zyncoder(uint8_t i, uint8_t pin_a, uint8_t pin_b, uint8_t midi_chan, uint8_t midi_ctrl, char *osc_path, unsigned int value, unsigned int max_value, unsigned int step) {	if (i > MAX_NUM_ZYNCODERS) {		printf("Zyncoder: Maximum number of zyncoders exceded: %d/n", MAX_NUM_ZYNCODERS);		return NULL;	}	struct zyncoder_st *zyncoder = zyncoders + i;	if (midi_chan>15) midi_chan=0;	if (midi_ctrl>127) midi_ctrl=1;	if (value>max_value) value=max_value;	zyncoder->midi_chan = midi_chan;	zyncoder->midi_ctrl = midi_ctrl;	//printf("OSC PATH: %s/n",osc_path);	if (osc_path) {		char *osc_port_str=strtok(osc_path,":");		zyncoder->osc_port=atoi(osc_port_str);		if (zyncoder->osc_port>0) {			zyncoder->osc_lo_addr=lo_address_new(NULL,osc_port_str);			strcpy(zyncoder->osc_path,strtok(NULL,":"));		}		else zyncoder->osc_path[0]=0;	} else zyncoder->osc_path[0]=0;	zyncoder->step = step;	if (step>0) {		zyncoder->value = value;		zyncoder->subvalue = 0;		zyncoder->max_value = max_value;	} else {		zyncoder->value = value;		zyncoder->subvalue = ZYNCODER_TICKS_PER_RETENT*value;		zyncoder->max_value = ZYNCODER_TICKS_PER_RETENT*max_value;	}	if (zyncoder->enabled==0 || zyncoder->pin_a!=pin_a || zyncoder->pin_b!=pin_b) {		zyncoder->enabled = 1;		zyncoder->pin_a = pin_a;		zyncoder->pin_b = pin_b;		zyncoder->last_encoded = 0;		zyncoder->tsus = 0;		if (zyncoder->pin_a!=zyncoder->pin_b) {			pinMode(pin_a, INPUT);			pinMode(pin_b, INPUT);			pullUpDnControl(pin_a, PUD_UP);			pullUpDnControl(pin_b, PUD_UP);#ifndef MCP23017_ENCODERS			wiringPiISR(pin_a,INT_EDGE_BOTH, update_zyncoder_funcs[i]);			wiringPiISR(pin_b,INT_EDGE_BOTH, update_zyncoder_funcs[i]);#else			// this is a bit brute force, but update all the banks			mcp23017_bank_ISR(0);			mcp23017_bank_ISR(1);#endif		}	}	return zyncoder;}
开发者ID:zynthian,项目名称:zyncoder,代码行数:60,


示例8: init_gpio

static int init_gpio (void){    //Init the input and output queues    queue_init (&gpio_input_q);    queue_init (&gpio_output_q);        wiringPiSetup ();    pinMode (WPC_RST, INPUT);    pinMode (IN_IRQ, INPUT);    pinMode (WPC_RST, INPUT);    pinMode (STATUS_LED, OUTPUT);    pinMode (OUT_CLK, OUTPUT);    pinMode (IC6_DIR, OUTPUT);    pinMode (IC3_CE, OUTPUT);        wiringPiISR (IN_IRQ, INT_EDGE_FALLING, &irq_recv);    wiringPiISR (WPC_RST, INT_EDGE_FALLING, &rst_recv);         set_gpio_input ();    digitalWrite (STATUS_LED, 1);    return 0;}
开发者ID:SonnyJim,项目名称:pisound,代码行数:25,


示例9: main

int main(int argc, char* argv[]) {    wiringPiSetupGpio(); // Initialize wiringPi -- using Broadcom pin numbers    pinMode(BCM_FIRST_GATE, INPUT);    pinMode(LED_FIRST_GATE, OUTPUT);    pinMode(BCM_SECOND_GATE, INPUT);    pinMode(LED_SECOND_GATE, OUTPUT);    pinMode(BCM_ULTRASONIC_ECHO, INPUT);    pinMode(BCM_ULTRASONIC_TRIGGER, OUTPUT);        if (wiringPiISR(BCM_FIRST_GATE, INT_EDGE_BOTH, &FIRST_GATE_PASS)  < 0) {        printf("Unable to setup ISR (FIRST_GATE) for GPIO %d (%s)/n/n", BCM_FIRST_GATE, strerror(errno));        exit(1);    }    if (wiringPiISR(BCM_SECOND_GATE, INT_EDGE_BOTH, &SECOND_GATE_PASS)  < 0) {        printf("Unable to setup ISR (SECOND_GATE) for GPIO %d (%s)/n/n", BCM_SECOND_GATE, strerror(errno));        exit(1);    }    if (wiringPiISR(BCM_ULTRASONIC_ECHO, INT_EDGE_BOTH, &ISR_ECHO)  < 0) {        printf("Unable to setup ISR (ULTRASONIC) for GPIO %d (%s)/n/n", BCM_ULTRASONIC_ECHO, strerror(errno));        exit(1);    }	    while (true) {            usleep(100);    }    return 0;}
开发者ID:mwallner,项目名称:pi_E_samples,代码行数:28,


示例10: wiegandInit

int wiegandInit(int d0pin, int d1pin) {    // Setup wiringPi    wiringPiSetup() ;    pinMode(d0pin, INPUT);    pinMode(d1pin, INPUT);    wiringPiISR(d0pin, INT_EDGE_FALLING, data0Pulse);    wiringPiISR(d1pin, INT_EDGE_FALLING, data1Pulse);}
开发者ID:ian0583,项目名称:wiegandPass,代码行数:9,


示例11: pinMode

prox::prox(void){    pinMode(PROX_TRIGGER_PIN,OUTPUT);//seting the output pin to the proximity sensor    if(wiringPiISR(ISR_START_PIN,INT_EDGE_RISING,&proxStartTimer)<0)    {        std::cout<<"Stra Time ISR Setup Failed"<<std::endl;    }    if(wiringPiISR(ISR_STOP_PIN,INT_EDGE_RISING,&proxStopTimer)<0)    {        std::cout<<"STop Time ISR Setup Failed"<<std::endl;    }}
开发者ID:bmhuggett,项目名称:D4,代码行数:12,


示例12: main

// -------------------------------------------------------------------------// mainint main(void) {  // sets up the wiringPi library  if (wiringPiSetup () < 0) {      fprintf (stderr, "Unable to setup wiringPi: %s/n", strerror (errno));      return 1;  }  // set Pin 17/0 generate an interrupt on high-to-low transitions  // and attach myInterrupt() to the interrupt  if ( wiringPiISR (SIA, INT_EDGE_BOTH, &myInterrupt0) < 0 ) {      fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno));      return 1;  } if ( wiringPiISR (SIB, INT_EDGE_BOTH, &myInterrupt1) < 0 ) {      fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno));      return 1;  }  if ( wiringPiISR (SW, INT_EDGE_FALLING, &myInterrupt2) < 0 ) {      fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno));      return 1;  }   /*     pinMode (dot,OUTPUT);    digitalWrite(dot ,0);    delay(500);    digitalWrite(dot ,1);    delay(500);    digitalWrite(dot ,0);*/  	while (1)   { 		if(turn_flag)		{			switch(turn_flag)			{				case 1:	printf("Turn right!/r/n");break;				case 2:	printf("Turn left!/r/n");break;				case 3:	printf("Turn down!/r/n");break;				default:break;			}			delay(500);			turn_flag=0;		}	 }	  return 0;}
开发者ID:MoonMaker,项目名称:RaspberryPi,代码行数:51,


示例13: main

intmain (int argc, char** argv){   int status = wiringPiSetupGpio();   if (status < 0)   {      printf ("Fail to setup wiringPi. Are you root?");      exit(1);   }   pinMode (24,INPUT);   wiringPiISR(24, INT_EDGE_FALLING, irq_handler);   status = wiringPiSPISetup(0,500000);   if (status < 0)   {      printf("Failed to configure SPI");      exit (1);   }         unsigned char buf [256];   pause();   while (1)   {      buf[0] = 0x07;      buf[1] = 0xff;      wiringPiSPIDataRW(0, buf, 2);      printf ("Output %d /n",buf[1]);      delay (1000);         }}
开发者ID:wuyuanyi135,项目名称:dchost-c,代码行数:34,


示例14: main

int main(){	//init the wiringPi	wiringPiSetup();	piHiPri(99);		//set up pin directions	pinMode(US_TRIGGER_PIN, OUTPUT);	pinMode(US_ECHO_PIN, INPUT);	digitalWrite(US_TRIGGER_PIN, 0);		//set up pin pullups	pullUpDnControl(US_TRIGGER_PIN, PUD_OFF);	pullUpDnControl(US_ECHO_PIN, PUD_OFF);		printf("/nGPIO config done./r/n/r/n");		printf("/nULTRASONIC MEASURE./r/n/r/n");		wiringPiISR (US_ECHO_PIN,INT_EDGE_RISING ,  echoArrived);		doTrigger();	gettimeofday(&t1, NULL);	waitEcho();	gettimeofday(&t2, NULL);		  elapsedTime = (double)(t2.tv_usec - t1.tv_usec);	 printf("/nULTRASONIC MEASURE DONE./r/n/r/n");	printf("/nTIME %f us/r/n", elapsedTime);		return 0;}
开发者ID:onodiadam,项目名称:SzakdogaGIT,代码行数:34,


示例15: doWfi

void doWfi (int argc, char *argv []){  int pin, mode ;  if (argc != 4)  {    fprintf (stderr, "Usage: %s wfi pin mode/n", argv [0]) ;    exit (1) ;  }  pin  = atoi (argv [2]) ;  /**/ if (strcasecmp (argv [3], "rising")  == 0) mode = INT_EDGE_RISING ;  else if (strcasecmp (argv [3], "falling") == 0) mode = INT_EDGE_FALLING ;  else if (strcasecmp (argv [3], "both")    == 0) mode = INT_EDGE_BOTH ;  else  {    fprintf (stderr, "%s: wfi: Invalid mode: %s. Should be rising, falling or both/n", argv [1], argv [3]) ;    exit (1) ;  }  if (wiringPiISR (pin, mode, &wfi) < 0)  {    fprintf (stderr, "%s: wfi: Unable to setup ISR: %s/n", argv [1], strerror (errno)) ;    exit (1) ;  }  for (;;)    delay (9999) ;}
开发者ID:ASA1976,项目名称:wiringPi-cpp,代码行数:30,


示例16: main

int main (void){  int myCounter = 0 ;  if (wiringPiSetup () < 0)  {    fprintf (stderr, "Unable to setup wiringPi: %s/n", strerror (errno)) ;    return 1 ;  }  if (wiringPiISR (BUTTON_PIN, INT_EDGE_FALLING, &myInterrupt) < 0)  {    fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno)) ;    return 1 ;  }  for (;;)  {    printf ("Waiting ... ") ; fflush (stdout) ;    while (myCounter == globalCounter)      delay (100) ;    printf (" Done. counter: %5d/n", globalCounter) ;    myCounter = globalCounter ;  }  return 0 ;}
开发者ID:gilgameshskytrooper,项目名称:LaundryPi,代码行数:30,


示例17: main

int main(int argc, char **argv){  ros::init(argc, argv, "sonar_test");  ros::NodeHandle n;  ros::Publisher chatter_pub = n.advertise<sonar::Sonar>("sonar_data_raw", 1000);  ros::Rate loop_rate(10);  float distance0 = 0;    wiringPiSetup();  pinMode(1, OUTPUT);  digitalWrite(1, LOW);  wiringPiISR(0,INT_EDGE_BOTH,&Interrupt0);  while (ros::ok())  {    sonar::Sonar msg;        if(sonar0_stop_time > sonar0_start_time)    {      sonar0_time = sonar0_stop_time - sonar0_start_time;    }    distance0 = sonar0_time/58;    msg.sonar_1 = distance0;    ROS_INFO("%f", distance0);       chatter_pub.publish(msg);      ros:: spinOnce();    loop_rate.sleep();  }  return 0;}
开发者ID:Jister,项目名称:ROS_sonar_node,代码行数:33,


示例18: main

int main(void){    // sets up the wiringPi library    if (wiringPiSetup () < 0) {        fprintf (stderr, "Unable to setup wiringPi: %s/n", strerror (errno));        return 1;    }    // set Pin 17/0 generate an interrupt on high-to-low transitions    // and attach myInterrupt() to the interrupt    if ( wiringPiISR (WIND_PIN, INT_EDGE_FALLING, &myInterrupt) < 0 ) {        fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno));        return 1;    }    // display counter value every second.    while ( 1 ) {        /* Wind is 1.492 mph per event */        printf("     Wind Speed: % 4.2f/n", eventCounter * 1.492 );        printf(" Wind Direction: % 4.2f/n", get_wind_direction() );        eventCounter = 0;        delay( 1000 );                                      // wait 1 second    }    return 0;}
开发者ID:mgrennan,项目名称:oswabox,代码行数:26,


示例19: main

int main(void){	int i, num;	if(wiringPiSetup() == -1){ //when initialize wiring failed,print messageto screen		printf("setup wiringPi failed !");		return 1; 	}	init();		if(wiringPiISR(TouchPin, INT_EDGE_FALLING, &randomISR)){		fprintf(stderr, "Unable to setup ISR : %s/n", strerror(errno));			return 1;	}	srand(time(NULL));		while(1){		if(flag == 1){			num = rand() % 7;			hc595_shift(SegCode[num]);			delay(2000);			flag = 0;		}		for(i=0;i<6;i++){				num = rand() % 7;			hc595_shift(SegCode[num]);			delay(60);		}	}	return 0;}
开发者ID:RAS20152015,项目名称:rpi,代码行数:35,


示例20: main

int main(int argc, char **argv) {    int gpio = 2;    if (setuid(0)) {        perror("setuid");        return -1;    }    if (wiringPiSetup() == -1) {        fprintf(stderr, "Wiring Pi not installed");        return -1;    }    verbose = 1;    piHiPri (99);    pinMode(gpio, INPUT);    wiringPiISR (gpio, INT_EDGE_BOTH, handle_interrupt);    while(1) {        sleep(1);    }    return 0;}
开发者ID:safchain,项目名称:domiotools,代码行数:25,


示例21: main

int main (int argc,char* argv[]){  if (argc < 3) {    printf("Usage example: ./%s button_gpio_port led_gpio_port/n", argv[0]);    return 1;  }  int buttonGpioPort = atoi(argv[1]);  ledGpioPort = atoi(argv[2]);  wiringPiSetup();  // register the function to deal with the button events  wiringPiISR(buttonGpioPort, INT_EDGE_FALLING, &interrupt2DoSth);    // set mode to output, which will be used to turn on/off the LED  pinMode(ledGpioPort, OUTPUT);  recordMillisecond = getMillisecond();  int currentLevel = 0;  while(true) {    if (currentLevel != level) {      printf("Caught an interrupt/n");      currentLevel = level;    }  }  return 0;}
开发者ID:JohnsonJian,项目名称:raspberry-pi,代码行数:29,


示例22: spiSetup

/** * /brief Setup resources for SPI transactions * * Called Once to setup buffers, locks, and GPIO * /returns * If Setup has been called recently, 1 is returned as a warning. /n * If GPIO can't be loaded, the entire system is stopped with EXIT_FAILURE. /n * Otherwise, 0 is returned. */int spiSetup(void) {	// Setup resources for SPI transactions	FILE *FPTR;	FPTR = popen("gpio load spi", "r");	fclose(FPTR);	// FIXME: use SLAVE_INT_PIN here	FPTR = popen("gpio export 2 in", "r");	fclose(FPTR);	//syslog(LOG_DEBUG, "Using pin %i", SLAVE_INT_PIN);	if (wiringPiSetupSys() == -1) {		syslog(LOG_ERR, "Couldn't setup wiringPi system!");		exit(EXIT_FAILURE);	}	if (wiringPiISR(SLAVE_INT_PIN, INT_EDGE_FALLING, &sgSerialSlaveSending) < 0) {		syslog(LOG_ERR, "Couldn't setup interrupt on pin!");		exit(EXIT_FAILURE);	}	pthread_mutex_init(&transfer_lock, NULL);	if (tx_buffer == NULL) {		tx_buffer = queueInit(100);	} else {		syslog(LOG_WARNING, "spiSetup has already been called!");		return 1;	}	return 0;}
开发者ID:branstem,项目名称:SansGrid,代码行数:35,


示例23: wiringPiISR

/** ________________________________________________________________________________________________________________________________________________________  * Enable receiving data */void RCSwitch::enableReceive(int interrupt) {	this->nReceiverInterrupt = interrupt;	RCSwitch::nReceivedValue = 0;	RCSwitch::nReceivedBitlength = 0;	wiringPiISR(this->nReceiverInterrupt, INT_EDGE_BOTH, &handleInterrupt);}
开发者ID:newman79,项目名称:RadioFrequence,代码行数:10,


示例24: main

int main(void){    if(wiringPiSetup() < 0) {        fprintf(stderr, "Unable to setup wiringPi:%s/n",strerror(errno));        return 1;    }    pinMode(SWPin, INPUT);    pinMode(RoAPin, INPUT);    pinMode(RoBPin, INPUT);    pullUpDnControl(SWPin, PUD_UP);    if(wiringPiISR(SWPin, INT_EDGE_FALLING, &btnISR) < 0) {        fprintf(stderr, "Unable to init ISR/n",strerror(errno));        return 1;    }    while(1) {        rotaryDeal();        printf("%d/n", globalCounter);        //printf("%d/n",globalCounter);    }    return 0;}
开发者ID:johnnyRose,项目名称:PiSpy,代码行数:26,


示例25: wiringPiISR

void RCSwitch::enableReceive() {    if (this->nReceiverInterrupt != -1) {        RCSwitch::nReceivedValue = NULL;        RCSwitch::nReceivedBitlength = NULL;        wiringPiISR(this->nReceiverInterrupt, INT_EDGE_BOTH, &handleInterrupt);    }}
开发者ID:ChristianEverett,项目名称:rfoutlet,代码行数:7,


示例26: strerror

void RFM70::Register_IRQ(void (*func)(void)){#if 1	if (wiringPiISR (_irq, INT_EDGE_FALLING, func) < 0) {		fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno)) ;	}#endif}
开发者ID:chendong2012,项目名称:cells,代码行数:8,


示例27: main

int main (int argc, char *argv[]){  unsigned long myCounter   = 0 ;  unsigned long lastCounter = 0 ;//  fprintf (stderr, "argc=%d/n" , argc);  if (argc != 2)  {    fprintf (stderr, "Usage: %s filename/n", argv[0]);    return 1 ;  }  if (wiringPiSetup () < 0)  {    fprintf (stderr, "Unable to setup wiringPi: %s/n", strerror (errno)) ;    return 1 ;  }   globalCounter = readFile(argv[1]);  pinMode (OUT_PIN, OUTPUT) ;  pinMode (IN_PIN,  INPUT) ;  pullUpDnControl(IN_PIN,  PUD_UP) ;  if (wiringPiISR (IN_PIN, INT_EDGE_FALLING, &myInterrupt) < 0)  {    fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno)) ;    return 1 ;  }  if (updateFile(argv[1], 0) != 0 )  {    return 1 ;  }  for (;;)  {    printf ("Waiting ... ") ; fflush (stdout) ;    while (myCounter == globalCounter)      delay (100) ;    if ( lastCounter != 0 ) {        printf (" Done. counter: %lu: %lu/n",		globalCounter, myCounter - lastCounter) ;    }    lastCounter = myCounter ;    myCounter   = globalCounter ;    if ( lastCounter != 0 ) {        updateFile(argv[1], myCounter);    }    digitalWrite (OUT_PIN, globalCounter & 0x1 ) ;  }  return 0 ;}
开发者ID:hansrune,项目名称:domoticz-contrib,代码行数:56,


示例28: main

int main (void){    printf("Raspberry Pi My Stepper motor LED test/n");    if (wiringPiSetup() == -1)        return 1;    if (wiringPiISR (pin1, INT_EDGE_FALLING, &myInterrupt1) < 0)    {        fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno)) ;        return 1 ;    }    if (wiringPiISR (pin2, INT_EDGE_FALLING, &myInterrupt2) < 0)    {        fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno)) ;        return 1 ;    }    if (wiringPiISR (pin3, INT_EDGE_FALLING, &myInterrupt3) < 0)    {        fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno)) ;        return 1 ;    }    if (wiringPiISR (pin4, INT_EDGE_FALLING, &myInterrupt4) < 0)    {        fprintf (stderr, "Unable to setup ISR: %s/n", strerror (errno)) ;        return 1 ;    }    pinMode(pin1, OUTPUT);    pinMode(pin2, OUTPUT);    pinMode(pin3, OUTPUT);    pinMode(pin4, OUTPUT);    Start_Led_Cycle(pin1);    while(1) {}    return 0;}
开发者ID:pratikanga,项目名称:projectLED,代码行数:43,


示例29: main

int main(void){  int setup = 0;  printf("Start!!/n");  setup = wiringPiSetupSys();  wiringPiISR( READ_PIN, INT_EDGE_RISING,  signal);  while(setup != -1){    sleep(10000);  }  return 0;}
开发者ID:tritri,项目名称:remoteControl,代码行数:10,



注:本文中的wiringPiISR函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ wiringPiSetup函数代码示例
C++ wiresend函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。