void main(void) { init(); while(1) // main loop { /* if (btn_pressed) { if (btn_pressed==BTN_BACK) LCDoff(); if (btn_pressed==BTN_OK) LCDon(); if (btn_pressed==BTN_UP) backlightOn(); if (btn_pressed==BTN_DOWN) backlightOff(); btn_pressed=0; }; */ defaultRX = 1; NRF_init(85); while(!isThereTemperatureReady()) { setAddr(17, 0); showTime(); delay_sec(1); }; defaultRX = 0; NRF_init(86); TXBuf[0] = 0x10; TXBuf[1] = 0xff; TXBuf[2] = RXBuf[2]; TXBuf[3] = RXBuf[3]; TXBuf[4] = RXBuf[4]; NRF_transmit(5); NRF_down(); char i; for (i=0; i<9; i++) { delay_sec(60); }; delay_sec(30); }; }
void init() { WDTCTL = WDTPW + WDTHOLD; // disable WDT BCSCTL1 = CALBC1_1MHZ; // 1MHz clock DCOCTL = CALDCO_1MHZ; P1OUT = 0; P2OUT = 0; P1DIR = 0; P2DIR = 0; WDTCTL = WDT_ADLY_1000; // WDT 1s interval timer IE1 = WDTIE; // Enable WDT interrupt P1DIR |= LCD5110_SCE_PIN + LCD5110_DC_PIN + BACKLIGHT; P1OUT |= LCD5110_SCE_PIN + LCD5110_DC_PIN; SPI_init(); __delay_cycles(50000); initLCD(); clearLCD(); defaultRX = 0; NRF_init(86); NRF_down(); initKeyboard(); // end init };
int main (void) { set_micro(); NRF_init(); MS5611_reset(); MS5611_read_PROM(); SHT11_softreset(); variable_init(); TCD0_CNT=0; while (1) { while (TCD0_CNT!=0xF9FF); //10 ms timer lock. SHT11_measure(); MS5611_measure(); if (MS5611_dataflag) { NRF_Transmit(); MS5611_dataflag=0; } if (nrf_flag) //doroste inja? { PTX_IRQ(); nrf_flag=0; } //if (twi_flag) nashod //{ //TWI_MasterInterruptHandler(&twiMaster); //twi_flag=0; //} } }
int main (void) { En_RC32M(); //Enable LowLevel & HighLevel Interrupts PMIC_CTRL |= PMIC_HILVLEN_bm | PMIC_LOLVLEN_bm |PMIC_MEDLVLEN_bm; PORT_init(); TimerD0_init(); TimerC0_init(); TimerE1_init(); USARTE0_init(); ADCA_init(); //wdt_enable(); // Globally enable interrupts sei(); //Address[0]=Address[0] + RobotID ; //// NRF Initialize NRF_init () ; while(1) { asm("wdr"); // BUZZER //adc = adc +(adc_get_unsigned_result(&ADCA,ADC_CH0)-adc)*0.01; adc = adc_get_unsigned_result(&ADCA,ADC_CH0); if (adc<=2250)//10 volt Buzzer_PORT.OUTSET = Buzzer_PIN_bm; else if(shoot_alarm_flg && (charge_count>=30000)) Buzzer_PORT.OUTSET = Buzzer_PIN_bm; else Buzzer_PORT.OUTCLR = Buzzer_PIN_bm; //SHOOT PORTC_OUTCLR=KCK_SH_PIN_bm; if((KCK_Ch_Limit_PORT.IN & KCK_Ch_Limit_PIN_bm)>>KCK_Ch_Limit_PIN_bp) { full_charge=1; tc_disable_cc_channels(&TCC0,TC_CCDEN); charge_count=0; } else { if((flg || flg_sw)==0) { tc_enable_cc_channels(&TCC0,TC_CCDEN); } } if (charge_flg)//full_charge { if (Robot_D[RobotID].KCK ) { if( KCK_Sens || (Robot_D[RobotID].KCK%2)) { flg = 1; } } } if (KCK_DSH_SW)//bazi vaghta begir nagir dare { flg_sw = 1; } if (free_wheel >= 500 ) { NRF_init(); } if(KCK_Sens) LED_Green_PORT.OUTSET = LED_Green_PIN_bm; else LED_Green_PORT.OUTCLR = LED_Green_PIN_bm; // //motor test //switch(flag2sec) //{ case 200: //// M.Setpoint=1000; //Robot_D[RobotID].M0b = 0xE8;//low //Robot_D[RobotID].M0a = 0X03;//high //break; // //case 400: ////M.Setpoint=2000; //Robot_D[RobotID].M0b = 0xD0;//low //Robot_D[RobotID].M0a = 0X07;//high //break; // //case 600: ////M.Setpoint=500; //Robot_D[RobotID].M0b = 0xF4;//low //Robot_D[RobotID].M0a = 0X01;//high //break; // //case 800: ////M.Setpoint=4000; //Robot_D[RobotID].M0b = 0xA0;//low //Robot_D[RobotID].M0a = 0X0F;//high //break; // //case 1000: ////M.Setpoint=1000; //Robot_D[RobotID].M0b = 0xE8;//low //Robot_D[RobotID].M0a = 0X03;//high //break; // //case 1200: ////M.Setpoint=500; //Robot_D[RobotID].M0b = 0xF4;//low //Robot_D[RobotID].M0a = 0X01;//high //break; // //case 1400: ////M.Setpoint=-500; //Robot_D[RobotID].M0b = 0x0C;//low //Robot_D[RobotID].M0a = 0XFE;//high //break; // //case 1600: ////M.Setpoint=400; //Robot_D[RobotID].M0b = 0x90;//low //Robot_D[RobotID].M0a = 0X01;//high //break; // //case 1800: ////M.Setpoint=350; //Robot_D[RobotID].M0b = 0x5E;//low //Robot_D[RobotID].M0a = 0X01;//high //break; // //case 2000: ////M.Setpoint=340; //Robot_D[RobotID].M0b = 0x54;//low //Robot_D[RobotID].M0a = 0X01;//high //break; // //case 2200: ////M.Setpoint=330; //Robot_D[RobotID].M0b = 0x4A;//low //Robot_D[RobotID].M0a = 0X01;//high //break; // //case 2600: ////M.Setpoint=100; //Robot_D[RobotID].M0b = 0x64;//low //Robot_D[RobotID].M0a = 0X00;//high //break; // //case 2800: ////M.Setpoint=50; //Robot_D[RobotID].M0b = 0x32;//low //Robot_D[RobotID].M0a = 0X00;//high //break; // //case 3000: ////M.Setpoint=1000; //Robot_D[RobotID].M0b = 0xE8;//low //Robot_D[RobotID].M0a = 0X03;//high //break; // //case 3200: ////M.Setpoint=-50; //Robot_D[RobotID].M0b = 0xCE;//low //Robot_D[RobotID].M0a = 0XFF;//high //flag2sec=0; //break; // //} //Robot_D[RobotID].M0b = 0xD0;//0X18;//-1000//01;//low37121 //Robot_D[RobotID].M0a = 0x07;//0XFC;//high //Robot_D[RobotID].M1b = 0XE8;//2000//ghalat17325 //Robot_D[RobotID].M1a = 0X03; //Robot_D[RobotID].M2b = 0XDC;//1000//low13703 //Robot_D[RobotID].M2a = 0X05;//high //Robot_D[RobotID].M3b = 0xF4;//3000//32;//ghalat30258 //Robot_D[RobotID].M3a = 0X01;//76; ////SEND TEST DATA TO FT232 //char str1[20]; //uint8_t count1 = sprintf(str1,"%d\r",adc); // //for (uint8_t i=0;i<count1;i++) //{ //usart_putchar(&USARTE0,str1[i]); // //} //usart_putchar(&USARTE0,'a'); }