这篇教程C++ GPIOPinIntClear函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GPIOPinIntClear函数的典型用法代码示例。如果您正苦于以下问题:C++ GPIOPinIntClear函数的具体用法?C++ GPIOPinIntClear怎么用?C++ GPIOPinIntClear使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GPIOPinIntClear函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: mainvoid main(void) { SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_8MHZ); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); GPIOPinTypeGPIOInput(GPIO_PORTF_BASE, GPIO_PIN_1); GPIOPinTypeGPIOInput(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3); GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_0); /* led */ GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU); GPIOPadConfigSet(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU); GPIOIntTypeSet(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3, GPIO_RISING_EDGE); GPIOIntTypeSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_RISING_EDGE); GPIOPinIntEnable(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3); GPIOPinIntEnable(GPIO_PORTF_BASE, GPIO_PIN_1); IntMasterEnable(); IntEnable(INT_GPIOE); IntEnable(INT_GPIOF); GPIOPinIntClear(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3); GPIOPinIntClear(GPIO_PORTF_BASE, GPIO_PIN_1); while(1) { } }
开发者ID:jeremiaslehmann,项目名称:IntGPIO,代码行数:29,
示例2: Keypadvoid Keypad(void*data){ while (1) { // RIT128x96x4StringDraw(" KKEYPAD ", 20, 80, 15); keypad *myKey = (keypad*) data; if (UpFlag){ *myKey->driveMotorSpeedInc=TRUE; UpFlag=FALSE; } if(globalCounter%500==0) { GPIOPinIntClear(GPIO_PORTE_BASE, GPIO_PIN_2); IntEnable(INT_GPIOE); } if(DownFlag){ *myKey->driveMotorSpeedDec=TRUE;DownFlag=FALSE; } if(globalCounter%500==0) { GPIOPinIntClear(GPIO_PORTD_BASE, GPIO_PIN_5); IntEnable(INT_GPIOD); } vTaskDelay(500); }}
开发者ID:suix2,项目名称:InUW,代码行数:29,
示例3: ctl_buttons_isr_init//ISR INITvoid ctl_buttons_isr_init(CTL_ISR_FN_t fn){int en; int32u proba;en=ctl_global_interrupts_set(0);buttons_isr=fn;SysCtlPeripheralEnable(PUSHBUTTON_PERIPH);//UNLOCKOLNI KELL A PF0 REGISZTERT MERT NMI-RE VAN ALLITVAHWREG(PUSHBUTTON_PORT + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;HWREG(PUSHBUTTON_PORT + GPIO_O_CR) |= 0x01;HWREG(PUSHBUTTON_PORT + GPIO_O_LOCK) = 0;GPIODirModeSet(PUSHBUTTON_PORT, LEFT_SWITCH | RIGHT_SWITCH , GPIO_DIR_MODE_IN);GPIOPadConfigSet(PUSHBUTTON_PORT,LEFT_SWITCH | RIGHT_SWITCH , GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);GPIOPinIntDisable(PUSHBUTTON_PORT, LEFT_SWITCH | RIGHT_SWITCH);if((GPIOPinIntStatus(PUSHBUTTON_PORT, 1)) == LEFT_SWITCH ){ GPIOPinIntClear(PUSHBUTTON_PORT, LEFT_SWITCH );}if((GPIOPinIntStatus(PUSHBUTTON_PORT, 1)) == RIGHT_SWITCH ){ GPIOPinIntClear(PUSHBUTTON_PORT, RIGHT_SWITCH );}ctl_set_priority(PUSHBUTTON_IRQ_PRIORITY, 1);ctl_unmask_isr(PUSHBUTTON_IRQ_PRIORITY);ctl_global_interrupts_set(en);GPIOIntTypeSet(PUSHBUTTON_PORT, LEFT_SWITCH | RIGHT_SWITCH , GPIO_BOTH_EDGES); //GPIO_BOTH_EDGESGPIOPinIntEnable(PUSHBUTTON_PORT, LEFT_SWITCH | RIGHT_SWITCH );}
开发者ID:fegyizoli,项目名称:zolcsirobot,代码行数:29,
示例4: IntWheelSensorvoid IntWheelSensor(){ CPU_INT32U ulStatusR_A; CPU_INT32U ulStatusL_A; static CPU_INT08U CountL = 0; static CPU_INT08U CountR = 0; static CPU_INT08U data = 0; ulStatusR_A = GPIOPinIntStatus(RIGHT_IR_SENSOR_A_PORT, DEF_TRUE); ulStatusL_A = GPIOPinIntStatus(LEFT_IR_SENSOR_A_PORT, DEF_TRUE); if (ulStatusR_A & RIGHT_IR_SENSOR_A_PIN) { GPIOPinIntClear(RIGHT_IR_SENSOR_A_PORT, RIGHT_IR_SENSOR_A_PIN); /* Clear interrupt.*/ CountR = CountR + 1; } if (ulStatusL_A & LEFT_IR_SENSOR_A_PIN) { GPIOPinIntClear(LEFT_IR_SENSOR_A_PORT, LEFT_IR_SENSOR_A_PIN); CountL = CountL + 1; } if((CountL >= Left_tgt) && (CountR >= Right_tgt)) { data = 0x11; Left_tgt = 0; Right_tgt = 0; CountL = 0; CountR = 0; BSP_MotorStop(LEFT_SIDE); BSP_MotorStop(RIGHT_SIDE); } else if(CountL >= Left_tgt) { data = 0x10; Left_tgt = 0; CountL = 0; BSP_MotorStop(LEFT_SIDE); } else if(CountR >= Right_tgt) { data = 0x01; Right_tgt = 0; CountR = 0; BSP_MotorStop(RIGHT_SIDE); } return;}
开发者ID:gouravmodi1991,项目名称:6154_Embedded_Operating_System,代码行数:51,
示例5: PinChangeIntHandler// Interrupt handlervoid PinChangeIntHandler (void) { unsigned long ul_A_Val; unsigned long ul_B_Val; int current_state; // Clear the interrupt (documentation recommends doing this early) GPIOPinIntClear (GPIO_PORTF_BASE, GPIO_PIN_7); GPIOPinIntClear (GPIO_PORTF_BASE, GPIO_PIN_5); ul_A_Val = GPIOPinRead (GPIO_PORTF_BASE, GPIO_PIN_7); // Read the pin ul_B_Val = GPIOPinRead (GPIO_PORTF_BASE, GPIO_PIN_5); if (!ul_A_Val){ //Check what state the pins at and assign that state to "current state" if(!ul_B_Val){ current_state = 1; } else{ current_state = 2; } } else{ if(ul_B_Val){ current_state = 3; } else{ current_state = 4; } } // Check if the previous state is different from the current state. // Determine what direction the encoder is spinning if (current_state != prev_state){ if (abs(prev_state-current_state) == 1){ if(current_state>prev_state){ encoder_1 --; } else{ encoder_1 ++; } } else{ if(current_state<prev_state){ encoder_1 --; } else{ encoder_1 ++; } } } prev_state = current_state; // Assign current state for next time the interrupt runs}
开发者ID:taylor123454321,项目名称:c_control,代码行数:50,
示例6: portBIntHandler/* The handler for the GPIOPortB Pin4, Pin5 & Pin6 state change interrupt. */void portBIntHandler(void) { //clear the interrupt GPIOPinIntClear (GPIO_PORTB_BASE, (GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6)); int button; //Read the state of the pins //Select icon clicked to start/stop heli if (!GPIOPinRead( GPIO_PORTB_BASE, GPIO_PIN_4 )) { xSemaphoreGiveFromISR( xBinarySelectSemaphore, pdFALSE ); } //Up icon clicked if (!GPIOPinRead( GPIO_PORTB_BASE, GPIO_PIN_5 )) { button = UP; xQueueSendFromISR( xButtonQueue, &button, NULL ); } //Down icon clicked if (!GPIOPinRead( GPIO_PORTB_BASE, GPIO_PIN_6 )) { button = DOWN; xQueueSendFromISR( xButtonQueue, &button, NULL ); } //Reset icon clicked if (!GPIOPinRead( GPIO_PORTB_BASE, GPIO_PIN_1 )) { SysCtlReset(); }}
开发者ID:nick-nz,项目名称:embedded-heli-controller,代码行数:30,
示例7: button_init/** * Configures the used button as input source * Registers gpio_c interrupt.. */void button_init(){ GPIOPinTypeGPIOInput(BSP_BUTTON_BASE, BSP_USER_BUTTON); GPIOIntTypeSet(BSP_BUTTON_BASE,BSP_USER_BUTTON,GPIO_FALLING_EDGE); GPIOPortIntRegister(BSP_BUTTON_BASE,GPIO_C_Isr_Handler); GPIOPinIntClear(BSP_BUTTON_BASE, BSP_USER_BUTTON); GPIOPinIntEnable(BSP_BUTTON_BASE, BSP_USER_BUTTON);}
开发者ID:barriquello,项目名称:iotstack,代码行数:11,
示例8: GPIO_SetInterruptTask// *************** GPIO_SetInterruptTask *************** void GPIO_SetInterruptTask( GPIO_PORT_T port, GPIO_PIN_T pins, unsigned long int_type, unsigned long priority, void (*task)( void ) ){ unsigned long port_base = GPIO_PortBase[port]; // Set the interrupt task for the specified port and pins if ( pins & 0x01 ) GPIO_PinISR[port][0] = task; else if( pins & 0x02 ) GPIO_PinISR[port][1] = task; else if( pins & 0x04 ) GPIO_PinISR[port][2] = task; else if( pins & 0x08 ) GPIO_PinISR[port][3] = task; else if( pins & 0x10 ) GPIO_PinISR[port][4] = task; else if( pins & 0x20 ) GPIO_PinISR[port][5] = task; else if( pins & 0x40 ) GPIO_PinISR[port][6] = task; else if( pins & 0x80 ) GPIO_PinISR[port][7] = task; // Set the event type and priority, and clear the interrupt IntPrioritySet( GPIO_IntAssignment[port], priority ); GPIOIntTypeSet( port_base, pins, int_type ); GPIOPinIntClear( port_base, pins); // Enable interrupts IntEnable( GPIO_IntAssignment[port] ); GPIOPinIntEnable( port_base, pins );}
开发者ID:yguo89,项目名称:CodeBrain,代码行数:26,
示例9: vs_requesthandlervoid vs_requesthandler(void){ unsigned int len, tail; GPIOPinIntClear(GPIO_PORTA_BASE, GPIO_PIN_1); len = vs_buflen(); if(len != 0) { if(len > 16) { len = 16; } vs_ssi_writewait(); //ssi transmit fifo full? VS_DCS_DISABLE(); tail = vs_buftail; VS_DCS_ENABLE(); for(; len!=0; len--) { vs_ssi_write(vs_buf.b8[tail]); if(++tail == VS_BUFSIZE) { tail = 0; } } vs_buftail = tail; } else { vs_pause(); } return;}
开发者ID:Bob4ik888,项目名称:WebRadio,代码行数:34,
示例10: vs_pausevoid vs_pause(void){ GPIOPinIntDisable(GPIO_PORTA_BASE, GPIO_PIN_1); //disable dreq irq GPIOPinIntClear(GPIO_PORTA_BASE, GPIO_PIN_1); return;}
开发者ID:Bob4ik888,项目名称:WebRadio,代码行数:7,
示例11: GPIO_PortG_ISRvoid GPIO_PortG_ISR( void ){ unsigned char int_status = 0; GPIO_PIN_T pin = 0; // Figure out which pin caused the interrupt int_status = GPIOPinIntStatus( GPIO_PORTG_BASE, true ); if( int_status & 0x01 ) pin = 0; else if( int_status & 0x02 ) pin = 1; else if( int_status & 0x04 ) pin = 2; else if( int_status & 0x08 ) pin = 3; else if( int_status & 0x10 ) pin = 4; else if( int_status & 0x20 ) pin = 5; else if( int_status & 0x40 ) pin = 6; else if( int_status & 0x80 ) pin = 7; // Acknowledge and diable interrupts for this pin. // GPIOPinIntDisable( GPIO_PORTG_BASE, int_status ); GPIOPinIntClear( GPIO_PORTG_BASE, int_status ); // Call the task function for this pin's interrupt GPIO_PinISR[GPIO_PORT_G][pin](); // Enable interrupts for the pin. XXX Does this provide enough // debouncing for GPIO interrupts? If not, we can set a flag in // main that enables interrupts after a set amount of time. //GPIOPinIntEnable( GPIO_PORTG_BASE, int_status ); }
开发者ID:yguo89,项目名称:CodeBrain,代码行数:28,
示例12: GPIOFIntHandlervoidGPIOFIntHandler(void){ // Clear the GPIO interrupt. GPIOPinIntClear(GPIO_PORTF_BASE, GPIO_PIN_1); y = 0; // Counter for how long the snooze button was pressed while (GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_1)==0){ y++; } // If the snooze button was held long enough, add 5 minutes to the alarm if (y>500000){ int z; for (z=0; z<5; z++){ IncrementTimeA(); } } // Clear the screen RIT128x96x4Clear(); // Turn off the LED GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_2, GPIO_PIN_2); // Turn off the alarm PWMOutputState(PWM0_BASE, PWM_OUT_0_BIT | PWM_OUT_1_BIT, false); PWMGenDisable(PWM0_BASE, PWM_GEN_0); // Disable the interrupt so that snooze and turn off alarm cannot be used GPIOPinIntDisable(GPIO_PORTF_BASE, GPIO_PIN_1);}
开发者ID:drosales007,项目名称:EmbeddedHW,代码行数:28,
示例13: PortBIntHandlervoid PortBIntHandler (void) // Interrupt handler called upon IR receive{ // Reset delay counter waitTime=0; // Turn on Status light upon first IR receive GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,0x01); // skip repeating IR pulse sequences if(!checkProtocol()) return; // 2 second delay between button presses if(waitTime2 < 20000) { flag = 1; } else { flag = 0; } // parse IR pulse sequence data getData(); // concatenate corresponding character to display buffer decodeLetter(decode(string)); // clear interrupt GPIOPinIntClear(GPIO_PORTB_BASE, GPIO_PIN_1); // reset delay between button presses waitTime2=0;}
开发者ID:richardszeto,项目名称:Embedded_Systems,代码行数:35,
示例14: GPIO_PortF_IntHandlervoid GPIO_PortF_IntHandler(void) { GPIOPinIntClear(GPIO_PORTF_BASE, GPIO_PIN_4); GPIOPinIntDisable(GPIO_PORTF_BASE, GPIO_PIN_4); Encoder_Count++; GPIOPinIntEnable(GPIO_PORTF_BASE, GPIO_PIN_4);}
开发者ID:AlpNov,项目名称:Embedded-Robot,代码行数:7,
示例15: GPIOPinIntClearvoid GpioIn::enableInterrupts(void){ // Clear the interrupt GPIOPinIntClear(gpio_.port, gpio_.pin); // Enable the interrupt GPIOPinIntEnable(gpio_.port, gpio_.pin);}
开发者ID:openwarelab,项目名称:firmware,代码行数:8,
示例16: SW_IntHandlervoid SW_IntHandler(void){ GPIOPinIntClear(GPIO_PORTC_BASE, GPIO_PIN_5); printf("Switch PUSH/r/n"); QEIPositionSet(QEI0_BASE, 0);}
开发者ID:choeunsol,项目名称:myCortex-LM8962_example,代码行数:8,
示例17: RF22_PinIntHandlervoid RF22_PinIntHandler(void){ if(GPIOPinIntStatus(RFM_22_PORT_INT, false) & RFM_22_PIN_INT) { RF22_isr0(); } GPIOPinIntClear(RFM_22_PORT_INT, RFM_22_PIN_INT);}
开发者ID:igbt6,项目名称:MeteoStation,代码行数:8,
示例18: EncoderInterruptHandlervoid EncoderInterruptHandler(void){ int temp = 0; unsigned char pin, pinA, pinB; unsigned port; signed dir; volatile encoder_count_t *p_encCount; if((GPIOPinIntStatus(port=GPIO_PORTC_BASE, false) & (pin=GPIO_PIN_5))) { // encoder 0 fired! pinA = GPIO_PIN_5; pinB = GPIO_PIN_4; dir = dir0; p_encCount = &enc0; } else if(GPIOPinIntStatus(port=GPIO_PORTB_BASE, false) & (pin=GPIO_PIN_4)) { // encoder 0 fired! pinA = GPIO_PIN_5; pinB = GPIO_PIN_4; dir = -dir0; p_encCount = &enc0; } else if(GPIOPinIntStatus(port=GPIO_PORTC_BASE, false) & (pin=GPIO_PIN_6)) { // encoder 1 fired! pinA = GPIO_PIN_6; pinB = GPIO_PIN_6; dir = dir1; p_encCount = &enc1; } else if (GPIOPinIntStatus(port=GPIO_PORTB_BASE, false) & (pin=GPIO_PIN_6)) { // encoder 1 fired! pinA = GPIO_PIN_6; pinB = GPIO_PIN_6; dir = -dir1; p_encCount = &enc1; } else return; GPIOPinIntClear(port, pin); if(GPIOPinRead(GPIO_PORTC_BASE, pinA)) ++temp; // channel A if(GPIOPinRead(GPIO_PORTB_BASE, pinB)) ++temp; // channel B switch(temp) { case 0: // both channels == 0 case 2: // both channels == 1 // channel A == channel B *p_encCount += dir; // --> moving forward break; case 1: // one channel == 1 and the other == 0 // channel A != channel B *p_encCount -= dir; // --> moving backward break; }}
开发者ID:weng-frank,项目名称:RAS_LM3S811,代码行数:58,
示例19: IntGPIOe/** Port E interrupt service routine@note Must be configured in startup_ccs.c or else will not be called.*/void IntGPIOe(void){ buttonIsr(0); // Button 0 was pressed#ifdef TIVA GPIOIntClear(GPIO_PORTE_BASE, GPIO_PIN_4); //Clear interrupts#else GPIOPinIntClear(GPIO_PORTE_BASE, GPIO_PIN_4); //Clear interrupts#endif}
开发者ID:vtoanb,项目名称:msp430lioamaintain,代码行数:12,
示例20: GPIO_3A_ISRvoid GPIO_3A_ISR(void){ if(GPIOPinIntStatus(SOC_GPIO_3_REGS, GPIO_INT_LINE_1, LCD_INT_PIN)) { LCD_Interrupt(FALSE); LCD_SetInterruptFlag(); GPIOPinIntClear(SOC_GPIO_3_REGS, GPIO_INT_LINE_1, LCD_INT_PIN); }}
开发者ID:dwhitfield6,项目名称:BeagleBone_Smart_Controler,代码行数:9,
示例21: vGPIO_ISRvoid vGPIO_ISR( void ){ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; /* Clear the interrupt. */ GPIOPinIntClear(GPIO_PORTC_BASE, mainPUSH_BUTTON); /* Wake the button handler task. */ xSemaphoreGiveFromISR( xButtonSemaphore, &xHigherPriorityTaskWoken ); portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );}
开发者ID:peterliu2,项目名称:tivaWare,代码行数:11,
示例22: PortBIntHandlervoid PortBIntHandler (void) // Interrupt handler called upon IR receive{ char str[10]; // Reset delay counter waitTime=0; // skip repeating IR pulse sequences if(!checkProtocol()) { GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,0x00); GPIOPinIntClear(GPIO_PORTB_BASE, GPIO_PIN_1); //displayAccel(); return; } // 2 second delay between button presses if(waitTime2 < 20000) { flag = 1; } else { flag = 0; } // parse IR pulse sequence data getData(); // concatenate corresponding character to display buffer decodeLetter(decode(string)); RIT128x96x4StringDraw(display2, 0, 80, 15); GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_0,0x01); // reset delay between button presses waitTime2=0; GPIOPinIntClear(GPIO_PORTB_BASE, GPIO_PIN_1); //displayAccel();}
开发者ID:richardszeto,项目名称:Embedded_Systems,代码行数:41,
示例23: DataReadyIntHandlervoid DataReadyIntHandler(void){ uint8_t p = ROM_GPIOPinIntStatus(ADS_DRY_PORT, true) & 0xFF; MAP_IntDisable(INT_GPIOC); MAP_GPIOPinIntDisable(ADS_DRY_PORT, ADS_DRY_PIN); GPIOPinIntClear(ADS_DRY_PORT, p); HWREGBITW(&g_ulFlags, FLAG_ADS_INT) = 1;}
开发者ID:brians444,项目名称:tiva-ads1246-lwip,代码行数:12,
示例24: flipPancakevoid flipPancake(void) { GPIOPinIntDisable(GPIO_PORTA_BASE, GPIO_PIN_2); WaitUS(2000); GPIOPinIntClear(GPIO_PORTA_BASE, GPIO_PIN_2); if(!GPIOPinRead(GPIO_PORTA_BASE,GPIO_PIN_2)) { UARTprintf("Triggered./n"); SetServoPosition(PANCAKE_POSITION,100*pancake); pancake = !pancake; } GPIOPinIntEnable(GPIO_PORTA_BASE, GPIO_PIN_2);}
开发者ID:RAS-MoFos,项目名称:Rasware2012,代码行数:12,
示例25: ISR_Bumper/***************************************************************************** * INTERRUPT SERVICE ROUTINES *****************************************************************************/void ISR_Bumper(void){ // TODO: Doesn't differentiate between L or R bumper // TODO: We should probably add debouncing /* Clears Interrupt */ GPIOPinIntClear(GPIO_PORTE_BASE, (1 << 0) | (1 << 1)); bBumperPressed = true; return;}
开发者ID:barukasu,项目名称:Stellaris-Evalbot-MarioKart,代码行数:15,
示例26: SonarGPIOIntHandlervoid SonarGPIOIntHandler(void) { GPIOPinIntClear(GPIO_PORTD_BASE, GPIO_PIN_3); if (GPIOPinRead(GPIO_PORTD_BASE, GPIO_PIN_3)) { status = TIMING; TIME(MAX_SONAR_TIME); } else { Sonar_Value = TimerValueGet(TIMER2_BASE, TIMER_A); status = DELAY; (*callback)(Sonar_Value); TIME(MS(10)); }}
开发者ID:ut-ras,项目名称:Rasware2009,代码行数:12,
示例27: onBoardInteruptHandle//This will be used to handle button presses calling for a bluetooth resetvoid onBoardInteruptHandle(void){ //double I2C1_BIT_DELAY=(SysCtlClockGet() / (100 * 3)); //100us GPIOPinIntClear(GPIO_PORTF_BASE,GPIO_PIN_0|GPIO_PIN_4); ResetBluetooth(); //This is an attempt at an I2C hard reset of all devices. //Float SDA high, and toggle SCL through nine complete cycles at 100kHz (or slower). Then issue a STOP sequence /*GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,0x80); //SDA High SysCtlDelay(I2C1_BIT_DELAY); int i = 0; for(i=0; i<9; i++){ GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_6,0x40); //SCL High SysCtlDelay(I2C1_BIT_DELAY); GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_6,0x00); //SCL Low SysCtlDelay(I2C1_BIT_DELAY); } GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_6,0x00); //SCL Low SysCtlDelay(I2C1_BIT_DELAY); GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,0x00); //SDA Low SysCtlDelay(I2C1_BIT_DELAY); GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_6,0x40); //SCL High SysCtlDelay(I2C1_BIT_DELAY); GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_7,0x80); //SDA High SysCtlDelay(I2C1_BIT_DELAY);*/ //Serious credit to the man who made the Arduino version of this. he gave me addresses and equations. Sadly Arduino obfuscates what really is happening //Link posted on blog page //gyro address = 0x68 not 0x69 /*GPIOPinConfigure(GPIO_PA7_I2C1SDA); GPIOPinTypeI2C(GPIO_PORTA_BASE, GPIO_PIN_7); //Set GPA7 as SDA GPIOPinConfigure(GPIO_PA6_I2C1SCL); GPIOPinTypeI2CSCL(GPIO_PORTA_BASE, GPIO_PIN_6); //Set GPA6 as SCL I2CMasterInitExpClk(I2C1_MASTER_BASE,SysCtlClockGet(),false); //I think it operates at 100kbps I2CMasterEnable(I2C1_MASTER_BASE); //Initalize the accelerometer Address = 0x53 GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3,0x02); UARTSend(0xAB); I2CTransmit(0x53,0x2D,0x00); I2CTransmit(0x53,0x2D,0x10); I2CTransmit(0x53,0x2D,0x08); //Initalize the gyroscope Address = 0x68 I2CTransmit(0x68,0x3E,0x00); I2CTransmit(0x68,0x15,0x07); I2CTransmit(0x68,0x16,0x1E); I2CTransmit(0x68,0x17,0x00); UARTSend(0xAC);*/ //SysCtlReset(); //This fixes the I2C but it's way to slow to be}
开发者ID:arduic,项目名称:GitHub,代码行数:54,
示例28: IntGPIOf/** Port F interrupt service routine@note Must be configured in startup_ccs.c or else will not be called.*/void IntGPIOf(void){ uint32_t buttonState = GPIOPinRead(GPIO_PORTF_BASE, ALL_BUTTONS); if ((~buttonState) & LEFT_BUTTON) buttonIsr(1); else if ((~buttonState) & RIGHT_BUTTON) buttonIsr(2);#ifdef TIVA GPIOIntClear(GPIO_PORTF_BASE, ALL_BUTTONS); //Clear interrupts#else GPIOPinIntClear(GPIO_PORTF_BASE, ALL_BUTTONS); //Clear interrupts#endif}
开发者ID:vtoanb,项目名称:msp430lioamaintain,代码行数:16,
示例29: pinout_interrupt// ARM codevoid pinout_interrupt( void ) { GPIOPinIntClear( PINOUT_PORT, PINOUT_MASK ); ///clear interrupt flag if ( !GPIOPinRead( PINOUT_PORT, 1 << PIN_RESET ) ) { mc_reset(); } else if ( !GPIOPinRead( PINOUT_PORT, 1 << PIN_FEED_HOLD ) ) { sys.execute |= EXEC_FEED_HOLD; } else if ( !GPIOPinRead( PINOUT_PORT, 1 << PIN_CYCLE_START ) ) { sys.execute |= EXEC_CYCLE_START; }}
开发者ID:RoelandK,项目名称:GRBL_LM4F120H5QR,代码行数:14,
示例30: Pin_Intvoid Pin_Int(void) { GPIOPinIntClear(GPIO_PORTE_BASE, GPIO_PIN_0); if(g_ulcount==5) { g_ulcount=0; GPIOPinWrite(GPIO_PORTC_BASE, GPIO_PIN_5, 0); SysCtlDelay(SysCtlClockGet() / 12); GPIOPinWrite(GPIO_PORTC_BASE, GPIO_PIN_5, GPIO_PIN_5); SysCtlDelay(SysCtlClockGet() / 12); } g_ulcount++; }
开发者ID:dhanawadeamit,项目名称:stellaris-guru,代码行数:14,
注:本文中的GPIOPinIntClear函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ GPIOPinIntEnable函数代码示例 C++ GPIOPinConfigure函数代码示例 |