SingleEncoder::SingleEncoder(uint8_t interrupt1, uint8_t interrupt2, uint8_t analog1,uint8_t analog2) { intPinA = interrupt1; intPinB = interrupt2; anaPinA = analog1; anaPinB = analog2; pinMode(intPinA, INPUT); pinMode(intPinB, INPUT); attachInterrupt(0, updateEnc1, CHANGE); attachInterrupt(1, updateEnc2, CHANGE); init_Timer(); }
/*! \brief Initializes all configuration variables. */ void Configuration::init() { // MISC Oscillator_Freq = 16000000; //Oscillator frequency in Hz CPUCLK = Oscillator_Freq; PBACLK = Oscillator_Freq; PWMCLK = Oscillator_Freq; ADCCLK = Oscillator_Freq; init_Timer(); init_PWM(); init_Motor(); init_Sensors(); init_UART(); init_StatusLEDs(); }
void start_Measuring(){ uint8_t numBytes; mpu_regs->fifo_en |= (BIT_FIFO_EN_XYZA | BIT_FIFO_EN_XYZG); /* Turn on sensors */ mpu_regs->user_ctrl |= (BIT_FIFO_EN); /* turn on the fifo for data */ enQueue(mpuTxQueue, reg.fifo_en); /* enqueue the register */ enQueue(mpuTxQueue, mpu_regs->fifo_en); /* enqueue values of regs */ numBytes = 1; /* number of reg VALUES written */ mpu_writeRegister(numBytes, reg.fifo_en, false); /* Turn on/off device sectors */ enQueue(mpuTxQueue, reg.user_ctrl); /* enqueue the register */ enQueue(mpuTxQueue, mpu_regs->user_ctrl); /* enqueue values of regs */ numBytes = 1; /* number of reg VALUES written */ mpu_writeRegister(numBytes, reg.user_ctrl, false); /* can burst write consecutive regs */ init_Timer(MS_PER_SAMPLE); /* Set timer to periodically update motion */ start_Timer(); }
int main(void) { int i; unsigned char add[5]={110,110,8,110,110}; /*!< At this stage the microcontroller clock setting is already configured to 120 MHz, this is done through SystemInit() function which is called from startup file (startup_stm32f2xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f2xx.c file */ #ifdef SERIAL_DEBUG DebugComPort_Init(); #endif initLED(); init_Timer(); //while(1); /*Initialize LCD and Leds */ //LCD_LED_Init(); delay_ms(500); for(i=0;i<100;i++) { setNumber(i); delay_ms(10); } beep(40); offSegment(3); delay_ms(100); setNumber(0); delay_ms(100); beep(40); offSegment(3); delay_ms(100); setNumber(0); delay_ms(100); beep(40); //USART2_Init(); //USART3_Init(); init_NRF1_IO(); init_NRF2_IO(); SPI1_Config(); SPI3_Config(); SPI_Cmd(SPI1, ENABLE); SPI_Cmd(SPI3, ENABLE); nrf24l01_initialize_debug(false, TX_PAYLOAD_SIZE, false); nrf24l01_clear_flush(); add[2]=8; nrf24l01_set_tx_addr(add , 5); add[2]=30; nrf24l01_set_rx_addr(add,5,0); nrf24l01_set_rf_ch(tx_channel); nrf24l02_initialize_debug(false, RX_PAYLOAD_SIZE, false); nrf24l02_clear_flush(); add[2]=8; nrf24l02_set_tx_addr(add , 5); add[2]=30; nrf24l02_set_rx_addr(add,5,0); nrf24l02_set_rf_ch(rx_channel); nrf24l02_set_as_rx(true); /* configure ethernet */ ETH_BSP_Config(); /* Initilaize the LwIP stack */ LwIP_Init(); /* UDP echoserver */ udp_echoserver_init(); /* Infinite loop */ while (1) { /* check if any packet received */ if (ETH_CheckFrameReceived()) { /* process received ethernet packet */ LwIP_Pkt_Handle(); } /* handle periodic timers for LwIP */ LwIP_Periodic_Handle(LocalTime); process_incoming_rf(); if(firstPacketRecieved==0) { demo(); setNumber(22); } } }