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

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

51自学网 2021-06-01 20:01:56
  C++
这篇教程C++ CLEARBIT函数代码示例写得很实用,希望能帮到您。

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

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

示例1: ckps_init_state_variables

void ckps_init_state_variables(void){ _BEGIN_ATOMIC_BLOCK(); hall.stroke_period = 0xFFFF; hall.advance_angle = HALL_ADVANCE; //=0 CLEARBIT(flags, F_STROKE); CLEARBIT(flags, F_VHTPER); CLEARBIT(flags, F_HALLEV); CLEARBIT(flags, F_SPSIGN); SETBIT(flags2, F_SHUTTER); SETBIT(flags2, F_SHUTTER_S); SETBIT(flags, F_IGNIEN); TCCR0 = 0; //timer is stopped (останавливаем таймер0) MCUCR|=_BV(ISC11); //falling edge for INT1 MCUCR|=_BV(ISC10); TIMSK|=_BV(TOIE1);                   //enable Timer 1 overflow interrupt. Used for correct calculation of very low RPM hall.t1oc = 0;                       //reset overflow counter hall.t1oc_s = 255;                   //RPM is very low#ifdef STROBOSCOPE hall.strobe = 0;#endif hall.knkwnd_mode = 0; _END_ATOMIC_BLOCK();}
开发者ID:abelom,项目名称:secu3app,代码行数:31,


示例2: Button_SingleInit

void Button_SingleInit(sButtonPinPort buttonPinPort){#ifdef __AVR__#if defined (__AVR_ATmega16__)	if(buttonPinPort.port == &PINA)	{		CLEARBIT(DDRA, buttonPinPort.pin);		SETBIT(PORTA, buttonPinPort.pin);	}#else   if(0)   {   }#endif	else if(buttonPinPort.port == &PINB)	{		CLEARBIT(DDRB, buttonPinPort.pin);		SETBIT(PORTB, buttonPinPort.pin);	}	else if(buttonPinPort.port == &PINC)	{		CLEARBIT(DDRC, buttonPinPort.pin);		SETBIT(PORTC, buttonPinPort.pin);	}	else if(buttonPinPort.port == &PIND)	{		CLEARBIT(DDRD, buttonPinPort.pin);		SETBIT(PORTD, buttonPinPort.pin);	}#endif	}
开发者ID:pikeBishop,项目名称:OMP_8x8LedToy,代码行数:31,


示例3: ckps_init_state

void ckps_init_state(void){ _BEGIN_ATOMIC_BLOCK(); if ((IOCFG_CB(IOP_CKPS) == (fnptr_t)iocfg_g_ckps) || (IOCFG_CB(IOP_CKPS) == (fnptr_t)iocfg_g_ckpsi)) {  CLEARBIT(flags2, F_SELEDGE); //falling edge  hall.ckps_inpalt = 1; //not remapped } else  hall.ckps_inpalt = 0; //CKPS mapped on other input ckps_init_state_variables(); CLEARBIT(flags, F_ERROR); //Compare channels do not connected to lines of ports (normal port mode) //(Каналы Compare не подключены к линиям портов (нормальный режим портов)) TCCR1A = 0; TCCR1B = _BV(CS11)|_BV(CS10);  //Tune timer 1 (clock = 312.5 kHz) TCCR0B = _BV(CS01)|_BV(CS00);  //Tune timer 0 (clock = 312.5 kHz) if (hall.ckps_inpalt)  TIMSK1|=_BV(ICIE1);    //enable input capture interrupt only if CKPS is not remapped _END_ATOMIC_BLOCK();}
开发者ID:ashabelnikov,项目名称:secu3app,代码行数:26,


示例4: ckps_init_state_variables

void ckps_init_state_variables(void){ _BEGIN_ATOMIC_BLOCK(); hall.stroke_period = 0xFFFF; hall.advance_angle = hall.shutter_wnd_width; //=0 CLEARBIT(flags, F_STROKE); CLEARBIT(flags, F_VHTPER); CLEARBIT(flags, F_HALLEV); CLEARBIT(flags, F_SPSIGN); SETBIT(flags, F_IGNIEN); SETBIT(flags2, F_SHUTTER); SETBIT(flags2, F_SHUTTER_S); TIMSK1|=_BV(TOIE1);                  //enable Timer 1 overflow interrupt. Used for correct calculation of very low RPM hall.t1oc = 0;                       //reset overflow counter hall.t1oc_s = 255;                   //RPM is very low#ifdef STROBOSCOPE hall.strobe = 0;#endif hall.knkwnd_mode = 0;#ifdef DWELL_CONTROL hall.cr_acc_time = 0;#endif#ifdef FUEL_INJECT hall.cur_chan = 0;#endif _END_ATOMIC_BLOCK();}
开发者ID:ashabelnikov,项目名称:secu3app,代码行数:34,


示例5: touch_init

void touch_init(){//uint8_t chan){    //set up the I/O pins E1, E2, E3 to be output pins    CLEARBIT(TRISEbits.TRISE1); //I/O pin set to output    CLEARBIT(TRISEbits.TRISE2); //I/O pin set to output    CLEARBIT(TRISEbits.TRISE3); //I/O pin set to output    // ADC init    //disable ADC    CLEARBIT(AD1CON1bits.ADON);    //initialize PIN    SETBIT(TRISBbits.TRISB15); //set TRISE RB15 to input    SETBIT(TRISBbits.TRISB9); //set TRISE RB9 to input    SETBIT(AD1PCFGLbits.PCFG15); // RB15 analog ADC1CH15    SETBIT(AD1PCFGLbits.PCFG9); // RB9 analog ADC1CH9    //Configure ADxCON1    SETBIT(AD1CON1bits.AD12B); //set 12b Operation Mode    AD1CON1bits.FORM = 0; //set integer output    AD1CON1bits.SSRC = 0x7; //set automatic conversion    //Configure ADxCON2    AD1CON2 = 0; //not using scanning sampling    //Configure ADxCON3    CLEARBIT(AD1CON3bits.ADRC); //internal clock source    AD1CON3bits.SAMC = 0x1F; //sample-to-conversion clock = 31Tad    AD1CON3bits.ADCS = 0x2; //Tad = 3Tcy (Time cycles)    //Leave ADxCON4 at its default value    //enable ADC    SETBIT(AD1CON1bits.ADON);}
开发者ID:ericmeyers12,项目名称:Embedded_Systems_dsPIC_MCU_Work,代码行数:28,


示例6: SETBIT

/** * set a single port to Output or Input - function requrired for wiringPi interface * @param pin - port relative to pinBase * @param newMode - 0 - Output; 1 - Input * @return new value of complete port */int Max7312::configPort(int pin, bool newMode){   if (isLowerPort(pin)) {      if(newMode)      {         SETBIT(_port1_mode, (GET_LOWER_PIN_ID(pin)));      }      else      {         CLEARBIT(_port1_mode, (GET_LOWER_PIN_ID(pin)));      }      configPort1(_port1_mode);      return _port1_mode;   } else {      if(newMode)      {         SETBIT(_port2_mode, (GET_HIGHER_PIN_ID(pin)));      }      else      {         CLEARBIT(_port2_mode, (GET_HIGHER_PIN_ID(pin)));      }      configPort2(_port2_mode);      return _port2_mode;   }}
开发者ID:Rosi2143,项目名称:HouseWorkspace,代码行数:31,


示例7: touch_select_dim

void touch_select_dim(uint8_t dim){    /*    if (dim == 1){ // x        //set up the I/O pins E1, E2, E3 so that the touchscreen X-coordinate pin        //connects to the ADC        CLEARBIT(PORTEbits.RE1);        SETBIT(PORTEbits.RE2);        SETBIT(PORTEbits.RE3);    }else if (dim == 2){ // y        SETBIT(PORTEbits.RE1);        CLEARBIT(PORTEbits.RE2);        CLEARBIT(PORTEbits.RE3);    } else{        SETBIT(PORTEbits.RE1);        SETBIT(PORTEbits.RE2);        CLEARBIT(PORTEbits.RE3);    }    */    if (dim == 1){ // x        //set up the I/O pins E1, E2, E3 so that the touchscreen X-coordinate pin        //connects to the ADC        CLEARBIT(LATEbits.LATE1);        SETBIT(LATEbits.LATE2);        SETBIT(LATEbits.LATE3);    }else if (dim == 2){ // y        SETBIT(LATEbits.LATE1);        CLEARBIT(LATEbits.LATE2);        CLEARBIT(LATEbits.LATE3);    } else{        SETBIT(LATEbits.LATE1);        SETBIT(LATEbits.LATE2);        CLEARBIT(LATEbits.LATE3);    }}
开发者ID:ericmeyers12,项目名称:Embedded_Systems_dsPIC_MCU_Work,代码行数:34,


示例8: key

static void key(byte mode) /*!  @brief     Keys the transmitter and produces a sidetone  .. but only if the corresponding functions (TXKEY and SIDETONE) have been set in the feature register. This function also handles a request to invert the keyer line if necessary (TXINV bit).  This is a private function. @param mode    UP or DOWN  */{	    if (mode == DOWN)     {        if (volflags & SIDETONE) // Are we generating a Sidetone?        {            OCR0A = ctcvalue;		// Then switch on the Sidetone generator            OCR0B = ctcvalue;                        // Activate CTC mode            TCCR0A |= (1<<COM0B0 | 1<<WGM01);                        // Configure prescaler            TCCR0B = 1<<CS01;        }                if (volflags & TXKEY) // Are we keying the TX?        {            if (yackflags & TXINV) // Do we need to invert keying?                CLEARBIT(OUTPORT,OUTPIN);            else                SETBIT(OUTPORT,OUTPIN);        }    }        if (mode == UP)     {        if (volflags & SIDETONE) // Sidetone active?        {            TCCR0A = 0;            TCCR0B = 0;        }                if (volflags & TXKEY) // Are we keying the TX?        {            if (yackflags & TXINV) // Do we need to invert keying?                SETBIT(OUTPORT,OUTPIN);            else                CLEARBIT(OUTPORT,OUTPIN);        }    }    }
开发者ID:denrusio,项目名称:vak-opensource,代码行数:59,


示例9: timedAlarmCheck

void timedAlarmCheck(void){	for (uint8_t alarm=1; alarm<=4; alarm++)	{		uint16_t pos = 400 + ((alarm-1)*15); //400 415 430 445		if (eepromReadByte(pos+0) == 1)		{				uint8_t sensorpos = findSensor(				eepromReadByte(pos+1),				eepromReadByte(pos+2),				eepromReadByte(pos+3),				eepromReadByte(pos+4),				eepromReadByte(pos+5),				eepromReadByte(pos+6),				eepromReadByte(pos+7),				eepromReadByte(pos+8));				int8_t value = (int8_t)sensorValues[(sensorpos*SENSORSIZE)+VALUE1];				char sign = sensorValues[(sensorpos*SENSORSIZE)+SIGN];				if (sign == '-') value *= -1;				int8_t target = eepromReadByteSigned(pos+10);				if (					(eepromReadByte(pos+9) == 1 && value < target)					||					(eepromReadByte(pos+9) == 2 && value == target)					||					(eepromReadByte(pos+9) == 3 && value > target)				)				{					//ALARM					//DDR=in/out PIN=value/pullup PORT=state					uint8_t pin = eepromReadByte(pos+11);					if (pin >= 1 && pin <= 4)					{						if (eepromReadByte(pos+12) == 1)						{							SETBIT(PORTC, (1+pin));						}						else							CLEARBIT(PORTC, (1+pin));					} 				} else if (eepromReadByte(pos+13) == 1) { 					//REVERSE					uint8_t pin = eepromReadByte(pos+11);					if (pin >= 1 && pin <= 4)					{						if (eepromReadByte(pos+12) == 1)							CLEARBIT(PORTC, (1+pin));						else							SETBIT(PORTC, (1+pin));					} 				}		}	}}
开发者ID:jaseg,项目名称:avr-uip,代码行数:59,


示例10: main

void main(){	//Init LCD	__C30_UART=1;		lcd_initialize();	lcd_clear();        touch_init();        CLEARBIT(T1CONbits.TON); // Disable Timer        CLEARBIT(T1CONbits.TCS); // Select internal instruction cycle clock        CLEARBIT(T1CONbits.TGATE); // Disable Gated Timer mode        TMR1 = 0x00; // Clear timer register        T1CONbits.TCKPS = 0b10; // Select 1:64 Prescaler        PR1 = 2000; // Load the period value        IPC0bits.T1IP = 0x01; // Set Timer1 Interrupt Priority Level        CLEARBIT(IFS0bits.T1IF); // Clear Timer1 Interrupt Flag        SETBIT(IEC0bits.T1IE); // Enable Timer1 interrupt        while(1) {            int i = 0;                                    touch_select_dim(0);            lock = 1;            TMR1 = 0x00;            SETBIT(T1CONbits.TON); // Start Timer            while(lock);                        for (i = 0; i < 5; i++) {                xs[i] = touch_adc();            }            // read y            touch_select_dim(1);            lock = 1;            TMR1 = 0x00;            SETBIT(T1CONbits.TON); // Start Timer            while(lock);            for (i = 0; i < 5; i++) {                ys[i] = touch_adc();            }                        qsort(xs, 5, sizeof(uint16_t), cmpfunc);            qsort(ys, 5, sizeof(uint16_t), cmpfunc);            lcd_locate(0,0);            lcd_printf("x position:             ");            lcd_locate(0,0);            lcd_printf("x position: %d", xs[2]);            lcd_locate(0,1);            lcd_printf("y position:             ");            lcd_locate(0,1);            lcd_printf("y position: %d", ys[2]);        }}
开发者ID:LeonHeTheFirst,项目名称:Embedded-Projects,代码行数:59,


示例11: lcd_spi_transmit_CMD

void lcd_spi_transmit_CMD(unsigned char temp){   CLEARBIT(PORTB,RS);   CLEARBIT(PORTB,SS_bar);   SPDR = temp;   while(!TESTBIT(SPSR,SPIF));   SPSR &= 0x7F;   SETBIT(PORTB, SS_bar); }
开发者ID:ZLAllen,项目名称:Temperature_monitor_system,代码行数:8,


示例12: if

/*! * /brief   sends a chunk of data and does not block * /param   thisport = which port to use * /param	data = pointer to data to send * /param	length = number of bytes to send * /return	SSP_TX_BUFOVERRUN = tried to send too much data * /return	SSP_TX_WAITING = data sent and waiting for an ack to arrive * /return	SSP_TX_BUSY = a packet has already been sent, but not yet acked * * /note * */int16_t qssp::ssp_SendData(const uint8_t *data, const uint16_t length ){    int16_t value = SSP_TX_WAITING;    if( (length + 2) > thisport->txBufSize ) {        // TRYING to send too much data.        value = SSP_TX_BUFOVERRUN;    } else if( thisport->SendState == SSP_IDLE ) {#ifdef ACTIVE_SYNCH        if( thisport->sendSynch == TRUE )  {            sf_SendSynchPacket();        }#endif#ifdef SYNCH_SEND        if( length == 0 ) {            // TODO this method could allow a task/user to start a synchronisation step if a zero is mistakenly passed to this function.            //      could add a check for a NULL data pointer, or use some sort of static flag that can only be accessed by a static function            //      that must be called before calling this function.            // we are attempting to send a synch packet            thisport->txSeqNo = 0;                        // make this zero to cause the other end to re-synch with us            SETBIT(thisport->flags, SENT_SYNCH);        } else {            // we are sending a data packet            CLEARBIT( thisport->txSeqNo, ACK_BIT );     // make sure we are not sending a ACK packet            thisport->txSeqNo++;                        // update the sequence number.            if( thisport->txSeqNo > 0x7F) {             // check for sequence number rollover                thisport->txSeqNo = 1;                  // if we do have rollover then reset to 1 not zero,                // zero is reserviced for synchronization requests            }        }#else        CLEARBIT( thisport->txSeqNo, ACK_BIT );     // make sure we are not sending a ACK packet        thisport->txSeqNo++;                        // update the sequence number.        if( thisport->txSeqNo > 0x7F) {             // check for sequence number rollover            thisport->txSeqNo = 1;                  // if we do have rollover then reset to 1 not zero,            // zero is reserved for synchronization requests        }#endif        CLEARBIT( thisport->flags, ACK_RECEIVED);        thisport->SendState = SSP_AWAITING_ACK;        value = SSP_TX_WAITING;        thisport->retryCount = 0;				// zero out the retry counter for this transmission        sf_MakePacket( thisport->txBuf, data, length, thisport->txSeqNo );        sf_SendPacket( );				// punch out the packet to the serial port        sf_SetSendTimeout(  );	// do the timeout values         if (debug)             qDebug()<<"Sent DATA PACKET:"<<thisport->txSeqNo;    } else {        // error we are already sending a packet. Need to wait for the current packet to be acked or timeout.        value = SSP_TX_BUSY;         if (debug)             qDebug()<<"Error sending TX was busy";    }    return value;}
开发者ID:BangBo,项目名称:OpenPilot,代码行数:70,


示例13: led_init

void led_init(void){  LEDDIR |= _BV(LEDBIT);  CLEARBIT(PINSEL1, 28);  CLEARBIT(PINSEL1, 29);  led_off();}
开发者ID:gluke77,项目名称:arm-reeler,代码行数:9,


示例14: lcd_spi_transmit_DATA

/*;********************************* NAME:       lcd_spi_transmit_DATA ASSUMES:    temp = byte to transmit to LCD.             SPI port is configured. RETURNS:    nothing MODIFIES:   temp, SPCR CALLED BY:  init_dsp, update DESCRITION: outputs a byte passed in r16 via SPI port. Waits for             data to be written by spi port before continuing. ***************************************************************** */  void lcd_spi_transmit_DATA(unsigned char data){    PORTB = (1 << RS);    CLEARBIT(PORTB, SS_bar);    CLEARBIT(SPSR, SPIF);    SPDR = data;    while(!TESTBIT(SPSR,SPIF));    SPSR &= 0x7F;    SETBIT(PORTB, SS_bar);  }
开发者ID:ZLAllen,项目名称:Temperature_monitor_system,代码行数:21,


示例15: initialize

//intializevoid initialize(void){    size_t i;    //bit-array set to one    for (i = 0; i < size; i++ ){        SETBIT(threadstack, i);    }    CLEARBIT(threadstack, 0);    CLEARBIT(threadstack, 1);    //http://www.mathcs.emory.edu/~cheung/Courses/255/Syllabus/1-C-intro/bit-array.html    }
开发者ID:disatapp,项目名称:Operating-Systems,代码行数:12,


示例16: kbd_scan

void kbd_scan(void){	uint8_t	kbd_value;	uint8_t	key_id;	kbd_value = KBD_PORT;	for (key_id = 0; key_id < 8; key_id++)	{		if (TESTBIT(kbd_value_1, key_id) && 			TESTBIT(kbd_value_2, key_id) &&			!TESTBIT(kbd_value, key_id))						CLEARBIT(kbd_value_1, key_id);					else if (!TESTBIT(kbd_value_1, key_id) && //key pressed			TESTBIT(kbd_value_2, key_id) &&			!TESTBIT(kbd_value, key_id))		{			CLEARBIT(kbd_value_2, key_id);		}		else if (!TESTBIT(kbd_value_1, key_id) && 			TESTBIT(kbd_value_2, key_id) &&			TESTBIT(kbd_value, key_id))			 			SETBIT(kbd_value_1, key_id);					else if (!TESTBIT(kbd_value_1, key_id) && 			!TESTBIT(kbd_value_2, key_id) &&			TESTBIT(kbd_value, key_id))			 			SETBIT(kbd_value_1, key_id);					else if (TESTBIT(kbd_value_1, key_id) && 			!TESTBIT(kbd_value_2, key_id) &&			!TESTBIT(kbd_value, key_id))			 			CLEARBIT(kbd_value_1, key_id);		else if (TESTBIT(kbd_value_1, key_id) && // key released			!TESTBIT(kbd_value_2, key_id) &&			TESTBIT(kbd_value, key_id))		{	 			SETBIT(kbd_value_2, key_id);						SETBIT(key_pressed, key_id);		}		else if (!TESTBIT(kbd_value_1, key_id) && // key still pressed			!TESTBIT(kbd_value_2, key_id) &&			!TESTBIT(kbd_value, key_id))		{	 		}	}}
开发者ID:gluke77,项目名称:meto-avr,代码行数:53,


示例17: tlc5940_init

void tlc5940_init(void){	//enable clocks to GPIO block	LPC_SYSCON->SYSAHBCLKCTRL |= (1UL <<  6);	INIT_GPIO(SCLK_PORT, SCLK);	INIT_GPIO(XLAT_PORT, XLAT);	INIT_GPIO(SIN_PORT, SIN);	//INIT_GPIO(GSCLK_PORT, GSCLK);	//INIT_GPIO(DCPRG_PORT, DCPRG);	//INIT_GPIO(VPRG_PORT, VPRG);	INIT_GPIO(BLANK_PORT, BLANK);	CLEARBIT(SCLK_PORT, SCLK);	CLEARBIT(XLAT_PORT, XLAT);	CLEARBIT(SIN_PORT, SIN); 	//CLEARBIT(GSCLK_PORT, GSCLK); 	//CLEARBIT(DCPRG_PORT, DCPRG);	//SETBIT(VPRG_PORT, VPRG);	SETBIT(BLANK_PORT, BLANK);	/* Init IOCON - Nothing works without this... */	LPC_SYSCON->SYSAHBCLKCTRL |= (1 <<  16);	/* TMR16B1 -- GSCLK Generator */	//	LPC_SYSCON->SYSAHBCLKCTRL |=  (1<<8);             	// Enable Clock for TMR1//	LPC_IOCON->PIO1_9 |= (1<<0);//	LPC_TMR16B1->MR0 = 118;					//Fire Interrupt each .02 second (20 ms or 50 Hz)//	LPC_TMR16B1->PR = 1;							  	//	LPC_TMR16B1->EMR |= (3<<4);							//Toggle on MR0//	LPC_TMR16B1->MCR |= (1<<1);							//Reset on MR0	  //  	LPC_TMR16B1->TCR |= (1<<0);                        	// GO		/* TMR16B0 -- Interrupt timer */		LPC_SYSCON->SYSAHBCLKCTRL |=  (1<<7);             	// Enable Clock for TMR0	//LPC_IOCON->PIO1_9 |= (1<<0);	LPC_TMR16B0->MR2 = 20000;							//Fire Interrupt each .02 second (20 ms or 50 Hz)	LPC_TMR16B0->PR = 48;							  		LPC_TMR16B0->MCR |= (1<<6);							//Interrupt on MR2	LPC_TMR16B0->MCR |= (1<<7);							//Reset on MR2	NVIC_EnableIRQ(TIMER_16_0_IRQn);         			//enable interrupt 	    	LPC_TMR16B0->TCR |= (1<<0);                        	// GO		/* GS CLK */	LPC_SYSCON->CLKOUTDIV = 59;	LPC_SYSCON->CLKOUTCLKSEL = 0;	LPC_SYSCON->CLKOUTUEN = 0;	LPC_SYSCON->CLKOUTUEN = 1;	LPC_IOCON->PIO0_1 |= (1<<0);}
开发者ID:jvanderwoude,项目名称:ece395,代码行数:52,


示例18: shift_init

void	shift_init(void){	SETBIT(SHIFT_OUT_DDR, SHIFT_OUT_BIT);	SETBIT(SHIFT_CLK_DDR, SHIFT_CLK_BIT);	SETBIT(SHIFT_LATCH_DDR, SHIFT_LATCH_BIT);	CLEARBIT(SHIFT_OUT_PORT, SHIFT_OUT_BIT);	CLEARBIT(SHIFT_CLK_PORT, SHIFT_CLK_BIT);	CLEARBIT(SHIFT_LATCH_PORT, SHIFT_LATCH_BIT);	controls[0] = 0x00;	controls[1] = 0x00;	old_controls[0] = 0xFF;	old_controls[1] = 0xFF;	}
开发者ID:gluke77,项目名称:meto-avr,代码行数:13,


示例19: TIMER16_0_IRQHandler

void TIMER16_0_IRQHandler(void){	//Make sure interrupt flag is set -- not sure if needed	if(LPC_TMR16B0->IR & (1<<2))	{		uint8_t first_cycle = 0;		uint8_t data_count = 0;		uint16_t tmp;									LPC_IOCON->PIO0_1 &= ~(1<<0);		SETBIT(BLANK_PORT, BLANK);//		if(CHECKBIT(VPRG_PORT, VPRG))//		{//			CLEARBIT(VPRG_PORT, VPRG);//			first_cycle = 1;//		}		if(xlat_pulse)		{			PULSE(XLAT_PORT, XLAT);			xlat_pulse = 0;		}		if(first_cycle)			PULSE(SCLK_PORT, SCLK);			CLEARBIT(BLANK_PORT, BLANK);		LPC_IOCON->PIO0_1 |= (1<<0);		while(1)		{		 	if(data_count < NUM_TLC5940 * NUM_SIN_BITS)			{				tmp = pwm[data_count/12];				tmp &= BV(11 - (data_count%12));			 	if(tmp)				//if(gsdata[data_count])					SETBIT(SIN_PORT, SIN);				else					CLEARBIT(SIN_PORT, SIN);				PULSE(SCLK_PORT, SCLK);				data_count++;			}else{				xlat_pulse = 1;				break;			}		}		LPC_TMR16B0->IR |= (1<<2);	}}
开发者ID:jvanderwoude,项目名称:ece395,代码行数:51,


示例20: SqAtakd

short SqAtakd (short sq, short side)/************************************************************************** * *  To determine if sq is attacked by any pieces from side. * **************************************************************************/{   register BitBoard *a, b, *c, d, blocker;   int t;      a = board.b[side];   /* Knights */   if (a[knight] & MoveArray[knight][sq])      return (true);   /* Kings */   if (a[king] & MoveArray[king][sq])      return (true);   /* Pawns */   if (a[pawn] & MoveArray[ptype[1^side]][sq])      return (true);         c = FromToRay[sq];   blocker = board.blocker;   /* Bishops & Queen */   b = (a[bishop] | a[queen]) & MoveArray[bishop][sq];   d = ~b & blocker;    while (b)   {      t = leadz (b);      if (!(c[t] & d))         return (true);      CLEARBIT (b, t);    }   /* Rooks & Queen */   b = (a[rook] | a[queen]) & MoveArray[rook][sq];   d = ~b & blocker;   while (b)   {      t = leadz (b);      if (!(c[t] & d))         return (true);      CLEARBIT (b, t);    }   return (false);}
开发者ID:Distrotech,项目名称:gnuchess,代码行数:50,


示例21: timers_initialize

// Configure the real-time task timer and its interrupt.void timers_initialize() {  //Set Timer1 to generate an interrupt every 10ms (100Hz) ==> PR1=500  CLEARBIT(T1CONbits.TON); //Disable Timer  CLEARBIT(T1CONbits.TCS); //Select internal instruction cycle clock  CLEARBIT(T1CONbits.TGATE); //Disable Gated Timer mode  T1CONbits.TCKPS = 0b11; //Select 1:256 Prescaler  PR1 = 500; //Load the period value ==> running at 100Hz now!  TMR1 = 0x00; //Clear timer register  IPC0bits.T1IP = 0x01; // Set Timer1 Interrupt Priority Level  CLEARBIT(IFS0bits.T1IF); // Clear Timer1 Interrupt Flag  SETBIT(IEC0bits.T1IE); // Enable Timer1 interrupt  SETBIT(T1CONbits.TON); // Start Timer}
开发者ID:ericmeyers12,项目名称:Embedded_Systems_dsPIC_MCU_Work,代码行数:15,


示例22: touch_select_dim

void touch_select_dim(uint8_t dim) {    if (dim == 0) {        // x dim        CLEARBIT(LATEbits.LATE1);        SETBIT(LATEbits.LATE2);        SETBIT(LATEbits.LATE3);        AD1CHS0bits.CH0SA = 0xF;    } else {        // ydim        SETBIT(LATEbits.LATE1);        CLEARBIT(LATEbits.LATE2);        CLEARBIT(LATEbits.LATE3);        AD1CHS0bits.CH0SA = 0x9;    }}
开发者ID:LeonHeTheFirst,项目名称:Embedded-Projects,代码行数:15,


示例23: uart2_init

void uart2_init(uint16_t baud){	// ==== Stop UART port	CLEARBIT(U2MODEbits.UARTEN); //Disable UART for configuration	// Disable Interrupts	IEC1bits.U2RXIE = 0;	IEC1bits.U2TXIE = 0;	// Clear Interrupt flag bits	IFS1bits.U2RXIF = 0;	IFS1bits.U2TXIF = 0;	// Set IO pins	TRISFbits.TRISF4 = 1; //set as input UART2 RX pin	TRISFbits.TRISF5 = 0; //set as output UART2 TX pin	// baud rate	// use the following equation to compute the proper	// setting for a specific baud rate	U2MODEbits.BRGH = 0; //Set low speed baud rate	U2BRG = (uint32_t)800000 / baud -1; //Set the baudrate to be at 9600	// Operation settings and start port	U2MODE = 0; // 8-bit, no parity and, 1 stop bit	U2MODEbits.RTSMD = 0; //select simplex mode	U2MODEbits.UEN = 0; //select simplex mode	U2MODE |= 0x00;	U2MODEbits.UARTEN = 1; //enable UART        //uint8_t c = 0;        //while(U2STAbits.URXDA)        //    c = U2RXREG & 0x00FF;	U2STA = 0;	U2STAbits.UTXEN = 1; //enable UART TX        //U2STAbits.URXEN = 1; //enable UART RX}
开发者ID:ericmeyers12,项目名称:Embedded_Systems_dsPIC_MCU_Work,代码行数:32,


示例24: _delay_us

uint8_t *WriteToNrf(uint8_t ReadWrite, uint8_t reg, uint8_t *val, uint8_t antVal){	//ReadWrite --> "R" or "W", reg --> 'register', *val --> array with package, antVal --> number of int in array	if(ReadWrite == W)//If it is in READMODE, then addr is already 0x00	{		reg = W_REGISTER + reg;	}	static uint8_t ret[32];	//Array to be returned in the end		_delay_us(10);						//Delay for 10us	CLEARBIT(PORTB,CSNPin);				//Set CSN Low - nRf starts listening for commands 10us after CSN Low	_delay_us(12);						//Delay for 12us	WriteReadByteSPI(reg);				//"reg" --> Set nRf to write or read mode	_delay_us(10);		for(int i = 0; i<antVal; i++)	{		if(ReadWrite == R && reg != W_TX_PAYLOAD)		{			//READ A REGISTRY			ret[i] = WriteReadByteSPI(NOP);		//Send dummy Byte to read data			_delay_us(10);		}		else		{			//Write to nRF			WriteReadByteSPI(val[i]);			//Send command one at a time			_delay_us(10);		}	}	SETBIT(PORTB,CSNPin);		//nRf into IDLE with CSN HIGH	return ret;					//Return the data read}
开发者ID:TheAsuraSlayer,项目名称:nRF24L01_AVR,代码行数:33,


示例25: sf_SendPacket

/*! * /brief   Runs the send process, checks for receipt of ack, timeouts and resends if needed. * /param   thisport = which port to use * /return  SSP_TX_WAITING - waiting for a valid ACK to arrive * /return  SSP_TX_TIMEOUT - failed to receive a valid ACK in the timeout period, after retrying. * /return  SSP_TX_IDLE    - not expecting a ACK packet (no current transmissions in progress) * /return  SSP_TX_ACKED   - valid ACK received before timeout period. * * /note * */int16_t qssp::ssp_SendProcess( ){    int16_t value = SSP_TX_WAITING;    if (thisport->SendState == SSP_AWAITING_ACK ) {        if (sf_CheckTimeout() == TRUE) {            if (thisport->retryCount < thisport->maxRetryCount) {                // Try again                sf_SendPacket();                sf_SetSendTimeout();                value = SSP_TX_WAITING;            } else {                // Give up, # of trys has exceded the limit                value = SSP_TX_TIMEOUT;                CLEARBIT( thisport->flags, ACK_RECEIVED);                thisport->SendState = SSP_IDLE;                if (debug)                  qDebug()<<"Send TimeOut!";            }        } else {            value = SSP_TX_WAITING;        }    } else if( thisport->SendState == SSP_ACKED ) {        SETBIT( thisport->flags, ACK_RECEIVED);        value = SSP_TX_ACKED;        thisport->SendState = SSP_IDLE;    } else {        thisport->SendState = SSP_IDLE;        value = SSP_TX_IDLE;    }    return value;}
开发者ID:BangBo,项目名称:OpenPilot,代码行数:43,


示例26: amdEraseSector

char amdEraseSector(char sector){	// to erase device you must execute the erase command sequence	// DQ7 is data polling and DQ6 is toggle status bits.	//refer to the table on page 9 to erase all sectors	// Erase operation will take approx 8 seconds to run its 1 second per sector	//65535bits 	struct AMD_Settings *Point_AMD = &Data;	uint32_t sector_erase=0; 		AMD_DATA_DDR |= ALL_PORT_MASK;	SETBIT(AMD_CTRL_PORT_WE, AMD_WE);	AMD_CTRL_PORT_CEOE |= (1 << AMD_OE) & ~(1 << AMD_CE);	CLEARBIT(AMD_CTRL_PORT_CEOE, AMD_CE);	// SEND THE 5 Unlock commands 		AMD_Send_Command(AMD_DATA_MASK_AA, AMD_ADDR_MASK_555);	AMD_Send_Command(AMD_DATA_MASK_55, AMD_ADDR_MASK_2AA);	AMD_Send_Command(AMD_DATA_MASK_80, AMD_ADDR_MASK_555);	AMD_Send_Command(AMD_DATA_MASK_AA, AMD_ADDR_MASK_555);	AMD_Send_Command(AMD_DATA_MASK_55, AMD_ADDR_MASK_2AA);		// Erase specific sectors 	sector_erase = sector; 	sector_erase <<= 16; 		AMD_Send_Command(AMD_DATA_MASK_30, sector_erase );	_delay_ms(2);		return;}
开发者ID:michaelfolz,项目名称:AM29F040B,代码行数:31,


示例27: ckps_init_state

void ckps_init_state(void){ _BEGIN_ATOMIC_BLOCK(); ckps_init_state_variables(); CLEARBIT(flags, F_ERROR); MCUCR|=_BV(ISC11); //falling edge for INT1 MCUCR|=_BV(ISC10); //set flag indicating that Hall sensor input is available WRITEBIT(flags, F_HALLSIA, IOCFG_CHECK(IOP_PS)); GICR|=  CHECKBIT(flags, F_HALLSIA) ? _BV(INT1) : 0; //INT1 enabled only when Hall sensor input is available //Compare channels do not connected to lines of ports (normal port mode) //(Каналы Compare не подключены к линиям портов (нормальный режим портов)) TCCR1A = 0; //Tune timer 1 (clock = 250kHz) TCCR1B = _BV(CS11)|_BV(CS10); //enable overflow interrupt of timer 0 //(разрешаем прерывание по переполнению таймера 0) TIMSK|= _BV(TOIE0); _END_ATOMIC_BLOCK();}
开发者ID:abelom,项目名称:secu3app,代码行数:25,


示例28: sqrt

//seive function this takes only one argument because the create function allows only one parameter.void *eratosthenes(void *threadnum){    size_t i;    size_t min;    size_t max;    size_t offset = 0;    size_t ops = (long int)threadnum;    long long z;            for (i = 0; i < (ops+1); i++){        max = offset + sieve[i];        min = offset + 1;        offset += sieve[i];        if (sqrt(size) < max){            max = sqrt(size);        }    }        //http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes    for(i = min; i < (max+1); i++){        if(TESTBIT(threadstack, i)){            //z = i^2            // all values that are mulitles of z should be marked            for (z = i * i; z < size; z += i){                if(TESTBIT(threadstack, z)){                    CLEARBIT(threadstack, z);                }            }        }    }    return 0;}
开发者ID:disatapp,项目名称:Operating-Systems,代码行数:33,


示例29: main

int main(void){uint8_t p=0;uint8_t value;DDRB |= (1<<DDB0); //ledSETBIT(PORTB,0);NRF_Init();NRF_Config();INT0_init();NRF_Start_RX();sei();while(1){if(p++%2){CLEARBIT(PORTB, 0);}else{ SETBIT(PORTB, 0);}_delay_ms(1000);	value=NRF_Read_Register_Value(STATUS);}	return 0;}
开发者ID:pbox,项目名称:NRF24,代码行数:35,


示例30: serdes777_rwbits

int32_t serdes777_rwbits(int32_t rwflag,void *ptr,int32_t len,HUFF *hp){    int32_t i,bit;    if ( rwflag == 0 )    {        for (i=0; i<len; i++)        {            if ( (bit= hgetbit(hp)) < 0 )                return(-1);            if ( bit != 0 )                SETBIT(ptr,i);            else CLEARBIT(ptr,i);        }        //printf("rbits.%d (%02x)/n",len,*(uint8_t *)ptr);    }    else    {        //printf("wbits.%d (%02x)/n",len,*(uint8_t *)ptr);        for (i=0; i<len; i++)            if ( hputbit(hp,GETBIT(ptr,i) != 0) < 0 )                return(-100*i-100);    }    //printf("rwbits len.%d (%02x)/n",len,*(uint8_t *)dest);    //printf("(%d) ",*(uint8_t *)ptr);    return(len);}
开发者ID:apitests,项目名称:libjl777,代码行数:26,



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


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