int rt_rau_application_init(void) { rt_thread_t tid; // rt_scheduler_sethook(rt_thread_switch_hook); /* tid = rt_thread_create("rau_send", rt_rau_app_send_msg_entry, RT_NULL, 2048, RT_THREAD_RAUAPP_PRIORITY, 20); if (tid != RT_NULL) rt_thread_startup(tid); */ #ifdef RCU_UART Clock_Init(); rcu_uart_init(); rcu_uart_set_device("uart1"); #endif //RCU_UART tid = rt_thread_create("rau_receive", rt_rau_app_receive_msg_entry, RT_NULL, 2048, RT_THREAD_RAUAPP_PRIORITY, 20); if (tid != RT_NULL) rt_thread_startup(tid); return 0; }
int main(void) { char c; INTCON1bits.NSTDIS = 1; openQEI(); OpenUART(); // openPWM(); // InitTMR2(); Clock_Init(); // enablePWM; // ch1Run; // ch2Run; initInterpreter(); initOdometrie(); initAsservissement(); initPIDs(); while(1) { c = (char)ReadUART1(); if(buildCommande()) { interpreteCommande(); clearCommande(); } } return 0; }
int main() { WDTCTL = WDTPW + WDTHOLD; // Stop WDT Clock_Init(0,0,0,1); // 1M DCO Drive_Init(0, 100); LCD5110_Init(); LCD5110_Write_String(0,0,LCD_BUFFER1); _EINT(); while(1) { if(SPEED_DISPLAY_FLAG == 1) { SPEED_DISPLAY_FLAG = 0; SPEED_L = Drive_Speed_L(); SPEED_R = Drive_Speed_R(); LCD5110_Long2char(SPEED_L / 5); LCD5110_Write_String(0,1,LCD5110_BUFFER); LCD5110_Long2char(SPEED_R / 5); LCD5110_Write_String(0,2,LCD5110_BUFFER); } } }
/****************************************************************************** * Function Name : SystemInit * Description : * Argument : none * Return Value : none ******************************************************************************/ void SystemInit( void ) { /* clock generator initialize */ Clock_Init(); /* low-voltage detector initialize */ Lvi_Init(); }
void init() { // Clock Initialize Clock_Init(); Timer_Init(); _NSTDIS = 1; //Interrupt Nesting Disable // Digital Communication Initialize //UART1_Init(); ADC_Init(); I2C1_Init(); // Peripherals Initialize LCD_Init(); // Interrupt 3 Initialize SW_TRIS = TRIS_INPUT; // RA2/INT3 as input; _INT3IP = 1; _INT3IF = 0; _INT3IE = 1; _INT3EP = 1; //Interrupt on negative edge // Make relay drive port as output RELAY_SOURCE_TRIS = TRIS_OUTPUT; RELAY_LED_TRIS = TRIS_OUTPUT; // Select battery as voltage source and turn on LED light RELAY_SOURCE = SOURCE_BATTERY; RELAY_LED = TURN_OFF_LED; SDC_Start(); }
int main() { WDTCTL = WDTPW + WDTHOLD; // Stop WDT Clock_Init(0,0,0,12); // 12M DCO TimerB_ConMode_Init(2, 4); // 3M的持续计数模式. LCD5110_Init(); LCD5110_Write_String(0,0,LCD_BUFFER1); Drive_UTL_Init(); _EINT(); while(1) //间隔1s 进行一次超声波测距 { ULT_TRIG1; DELAY_US(30); ULT_TRIG0; DELAY_MS(300); Drive_UTL_DISTANCE(); UTL_START_TIME = 0; LCD5110_Long2Char(UTL_BUFFER); LCD5110_Write_String(0,1,0); UTL_FLAG = 0; } }
void main() { WDTCTL = WDTPW + WDTHOLD; Clock_Init(0,0,0,CPU_FF); // 12M DCO LCD5110_Init(); LCD5110_Write_String(0,0,LCD_MAIN_BUFFER1); LCD5110_Write_String(0,1,LCD_MAIN_BUFFER2); LCD5110_Write_String(0,2,LCD_MAIN_BUFFER3); LCD5110_Write_String(0,3,LCD_MAIN_BUFFER4); LCD5110_Write_String(0,4,LCD_MAIN_BUFFER5); MPU6050_Init(); while(1) { MPU6050_AccelX(); LCD5110_Long2Char(MPU6050_AX); LCD5110_Write_String(18,0,0); MPU6050_AccelY(); LCD5110_Long2Char(MPU6050_AY); LCD5110_Write_String(18,1,0); MPU6050_AccelZ(); LCD5110_Long2Char(MPU6050_AZ); LCD5110_Write_String(18,2,0); MPU6050_Angle_XZX(); MPU6050_Angle_YZY(); LCD5110_Long2Char(MPU6050_ANGLE_XZX); LCD5110_Write_String(18,3,0); LCD5110_Long2Char(MPU6050_ANGLE_YZY); LCD5110_Write_String(18,4,0); /* MPU6050_AnguX(); LCD5110_Long2Char(MPU6050_GX); LCD5110_Write_String(18,3,0); MPU6050_AnguY(); LCD5110_Long2Char(MPU6050_GY); LCD5110_Write_String(18,4,0); MPU6050_AnguZ(); LCD5110_Long2Char(MPU6050_GZ); LCD5110_Write_String(18,5,0); */ DELAY_MS(500); } }
void Basic_Init(void) { Watchdog_Init(); //WatchdogInig Clock_Init(); //CLKInit TC0_Wait_msWhile(5); //wait PORT_Init(); //PortInit CAN_Init(); //CANInit TC0_Wait_msWhile(5); //wait TC0_Stop(); //StopTimer CAN_RXMOb_SetAddr(0x01); //SetCANAdress }
/*Main Function*/ int main() { Clock_Init(); GPIO_Init(); while(1) { if(!(GPIOC->IDR & (Pin_13))) {GPIO_PinOff(FK_GPIOA,5);} else {GPIO_PinOn(FK_GPIOA,5);} } }
int main() { WDTCTL = WDTPW + WDTHOLD; // Stop WDT Clock_Init(0,0,0,1); // 1M DCO USCI_SPI_Init(0, 0, 1, 0, 0); //涓绘満A0 USCI_SPI_Init(1, 0, 0, 0, 0); USCI_A1RX_ENABLE; UCA0TXBUF = 1; _EINT(); while(1); }
int main(void) { Clock_Init(); PortG_Init(); Sound_Init(); OLED_Init(); LED_Blink(); SysTickInt_Init(); IntMasterEnable(); while(1) { // SLEEP } }
int main (void) { P1DIR = 0XFF;P1OUT = 0XFF; // P1DIR = 0XF0;P1OUT = 0X0F; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; Wdt_Init(); Clock_Init(); Lcd_Reset(); //Lcd_WriteStr(0,0,"yes"); P6SEL=0x00; P6DIR=0x02; //CTL_RC1; while(1) { rst=Ads_Convert(); Delay(100); Ads_Str(); } /* while(1) { if(count<10) { Ads_Convert();//系统误差,调整截距 Delay(1000); count++; } else { count=0; rst/=10; Ads_Str(); Delay(1000); rst=0; } } */ }
int main() { WDTCTL = WDTPW + WDTHOLD; // Stop WDT Clock_Init(0,0,0,1); // 1M DCO Drive_IO_Init(); Drive_PWM_Init(); _EINT(); while(1){ Drive_Motor_L(0, 60); Drive_Motor_R(1, 60); DELAY_MS(333); Drive_Motor_L(0, 10); Drive_Motor_R(1, 10); DELAY_MS(333); } }
void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog Clock_Init(0,0,0,CPU_FF); // 1M DCO, 9K VLO ACLK LCD5110_Init(); LCD5110_Write_String(0,0,(char*)LCD_BUFFER1); P6SEL = 0x03; // Enable A/D channel inputs ADC12CTL0 = ADC12ON + MSC + SHT0_8; // Turn on ADC12, extend sampling time // to avoid overflow of results ADC12CTL1 = SHP + CONSEQ_3; // Use sampling timer, repeated sequence ADC12MCTL0 = INCH_0; // ref+=AVcc, channel = A0 ADC12MCTL1 = INCH_1 + EOS; // ref+=AVcc, channel = A1, end seq. ADC12IE = 0x02; // Enable ADC12IFG.3 ADC12CTL0 |= ENC; // Enable conversions ADC12CTL0 |= ADC12SC; // Start convn - software trigger _BIS_SR(LPM0_bits + GIE); // Enter LPM0, Enable interrupts }
void main() { WDTCTL =WDTPW + WDTHOLD; Clock_Init(4,4,0,CPU_FF); CJMCU_INIT(); LCD5110_Init(); _EINT(); //必须开中断 DELAY_MS(3000); CJMCU_Aline(); //自动校准 LCD5110_Long2Char(CJMCU_YAW_OFFSET); LCD5110_Write_String(0,0,0); LCD5110_Long2Char(CJMCU_PITCH_OFFSET); LCD5110_Write_String(0,1,0); LCD5110_Long2Char(CJMCU_ROLL_OFFSET); LCD5110_Write_String(0,2,0); DELAY_MS(3000); while(1) { CJMCU_START(); //只读取一次。每次读取数据时都要调用该函数 while(CJMCU_RCV_FLAG==0); CJMCU_GET_VALUE(&yaw, &pitch, &roll); LCD5110_Long2Char(yaw); LCD5110_Write_String(0,0,0); LCD5110_Long2Char(pitch); LCD5110_Write_String(0,1,0); LCD5110_Long2Char(roll); LCD5110_Write_String(0,2,0); DELAY_US(10); } // Enable USCI_A0 RX interrupt }
void main( void ) { // Stop watchdog timer to prevent time out reset uint t=0,time=0; WDTCTL = WDTPW + WDTHOLD; Clock_Init(); SMG_init(); while(1) { SMG_Display(time); if(t++>10) { t=0; if(time++>=9999) { time=0; } } } }
void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; button_init(); led_init(); Clock_Init(); NRF24L01_init(1,1); NRF24L01_ConfigMode(MODETX); NRF24L01_TxPacket(temp); NRF24L01_ConfigMode(MODERX); while(1) { LPM3; //SMG_Display(rece_buf[0]); led1_on(0); Delay_ms(300); led1_off(0); Delay_ms(300); } }
void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog Clock_Init(0,0,0,1); // 1M DCO, 9K VLO ACLK P1OUT = 0x00; // Clear P1 P1DIR = 0x01; // P1.0 as output LED. LCD5110_Init(); LCD5110_Write_String(0,0,(char*)LCD_BUFFER1); ADC12_Init(3,1,2,7); // smclk, /1, 单通道序列采样, 采样保持时间2^7 adcclk. ADC12_Sample_Source(1, 1); // TimeA.out 触发采样,采样定时器控制采样 ADC12_Set_VREF2_5(); // 2.5V参考电压开启 ADC12_MCTL(0, 1, 10); // 内存单元0开启温度传感器通道A10, 参考电压选择VREF+. ADC12_Enable((BIT0)); //内存单元中断,存放值以后是否中断. ADC12_ENC; TACCTL1 = OUTMOD_4; // Toggle on EQU1 (TAR = 0) TACTL = TASSEL_2 + MC_2; // SMCLK, cont-mode _EINT(); while(1); }
//*********************************************************************** // 主程序 //*********************************************************************** void main(void) { unsigned char qq; // unsigned char adxl_state; unsigned char mmc_state; unsigned char eeprom_state; for (qq=0;qq<0xf0;qq++) { _NOP(); } WDT_Init(); //看门狗设置 // _DINT(); Clock_Init(); //系统时钟设置 delay_ms(100); //延时100ms Port_Init(); //系统初始化,设置IO口属性 GM8125_Init(0); delay_ms(100); DeBug_Print_Str("System Start!\r\n"); TimerA_init(); mmc_state = mmc_test(); if ( mmc_state == 1) { DeBug_Print_Str("MMC Verify Success!\r\n"); cardSize = MMC_ReadCardSize(); SDsizeDisplay(cardSize); SD_File_Create(); } else { DeBug_Print_Str("MMC Verify Failure!\r\n"); } //延时100ms _EINT(); eeprom_state = eeprom_test(); if ( eeprom_state == 1) { DeBug_Print_Str("EEPROM Verify Success!\r\n"); } else { DeBug_Print_Str("EEPROM Verify Failure!\r\n"); } Init_ADXL345(); //初始化ADXL345 devid=Single_Read_ADXL345(0X00); //读出的数据为0XE5,表示正确 if(devid!=0XE5) { DeBug_Print_Str("No ADXL345\r\n"); } else { DeBug_Print_Str("ADXL345 init Success!\r\n"); } while(1) { /* adxl_state = ADXL345_Work(&X_data,&Y_data,&Z_data); if (adxl_state == FALSE) { DeBug_Print_Str("Adxl345 no work!\r\n"); } delay_ms(5); ProcessingData(); delay_ms(5); */ while (0 == ConnectFlag) { gprs_band_rate(); DeBug_Print_Str("GPRS BandRate Set OK!\r\n"); delay_ms(1000); gprs_check_china_mobile(); DeBug_Print_Str("GPRS Check China Mobile OK!\r\n"); delay_ms(1000); ConnectFlag = gprs_connect_server();//while (connect ok) if (1 == ConnectFlag) { DeBug_Print_Str("GPRS Connect Server is OK!\r\n"); LogFlag=0; //登上服务器后将logon标志置零 } else { DeBug_Print_Str("GPRS Connect Server Fail!\r\n"); } delay_ms(1000); } while(1 == ConnectFlag) { DoRcv(); if(LogFlag) { SendData(); } delay_ms(1000); } //delay_ms(1000); } }
int main(void) { //int ret; NVIC_SetVectorTable(NVIC_VectTab_FLASH,VECTOR_TABLE_BASE_ADDRESS); /* Identify the BlueNRG platform */ SdkEvalIdentification(); RCC_Configuration(); /* Basic button init function for handling application jumping */ Configure_Button(); #if 0 /* TBR */ PWR_PVDCmd(DISABLE); /* Disable FLASH during Sleep */ FLASH_SLEEPPowerDownCmd(ENABLE); /* Enable Ultra low power mode */ PWR_UltraLowPowerCmd(ENABLE); PWR_FastWakeUpCmd(DISABLE); #endif NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); Clock_Init(); HCI_Init(); /* Init SPI interface */ SdkEvalSpiInit(SPI_MODE_EXTI); /* Reset BlueNRG SPI interface */ BlueNRG_RST(); /* Init leds */ SdkEvalLedInit(LED1); SdkEvalLedInit(LED2); { tHalUint8 bdaddr[] = {0x12, 0x34, 0x00, 0xE1, 0x80, 0x02}; aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET, CONFIG_DATA_PUBADDR_LEN, bdaddr); } aci_gatt_init(); { uint16_t service_handle, dev_name_char_handle, appearance_char_handle; aci_gap_init(1, &service_handle, &dev_name_char_handle, &appearance_char_handle); } #if 0/* TBR */ aci_gap_set_auth_requirement(MITM_PROTECTION_REQUIRED, OOB_AUTH_DATA_ABSENT, NULL, 7, 16, USE_FIXED_PIN_FOR_PAIRING, 123456, BONDING); #endif //PRINTF("BLE Stack Initialized.\n"); #ifdef ST_OTA_BTL /* Add OTA bootloader service */ Add_Btl_Service(); #endif /* -2 dBm output power */ aci_hal_set_tx_power_level(1,4); while(1) { #ifdef ST_OTA_BTL static tClockTime startTime = 0; if (Clock_Time() - startTime >led_blinking_rate) { /* LED D1 is toggling on OTA_Service Manager */ SdkEvalLedToggle(LED1); startTime = Clock_Time(); } #endif /* end ST_OTA_BTL */ HCI_Process(); if(set_connectable){ setConnectable(); set_connectable = 0; } /* Use button to switch to the basic Reset Manager */ if (GPIO_ReadInputDataBit(ButtonPort,ButtonPin) == RESET) { /* Add delay to avoid conlict with DFU activation */ Clock_Wait(2000); /* Check if an application has been loaded previously through OTA service manager */ if (*((uint32_t*) NEW_APP_MEM_INFO)!= 0) /* Service Manager will jump to the Application previously loaded at address APPLICATION_JUMP_ADDRESS */ Switch_To_OTA_Service_Manager_Application(APPLICATION_JUMP_ADDRESS); } } }
/* * main.c */ int main(void) { //WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer Clock_Init(); WDT_Init(); WX315_Init(); led_init(); Init_HC05(); TimerA_Init(); Key_Init(); MQ2_Init(); Ir_Init(); Sound_Init(); // //__bis_SR_register(LPM0_bits + GIE); _EINT(); led0_off();//默认开蓝牙使能 delay_ms(1000); while(1){ if(temp_tx_flag==1){ for(i=0;i<8;i++){ UartPutchar(ch[i]); } temp_tx_flag=0; } if(flag_mq2==1){ flag_mq2=0; UartPutchar('V');//Vapour 烟雾传感器 有漏气 向APP发送指令'V' } if(flag_ir==1){ flag_ir=0; UartPutchar('I');//Ir 红外传感器 有漏气 向APP发送指令'I' } if(flag_sound==1){ flag_sound=0; UartPutchar('S');//Sound 声音传感器 有大风 向APP发送指令'S' } switch(uart_temp){ //color case 'r': RGB_r(); uart_temp=' '; break; case 'o': RGB_o(); uart_temp=' '; break; case 'y': RGB_y(); uart_temp=' '; break; case 'g': RGB_g(); uart_temp=' '; break; case 'b': RGB_b(); uart_temp=' '; break; case 'p': RGB_p(); uart_temp=' '; break; case 'w': RGB_w(); uart_temp=' '; break; case 'd'://关灯 dieout RGB_d(); uart_temp=' '; break; //*********************************************************** case 'm'://开窗 m motor Window_m(); uart_temp=' '; break; case 'n'://关窗 Window_n(); uart_temp=' '; break; //*********************************************************** case 'u'://加热 u up TempNew_u(); uart_temp=' '; break; case 'v'://制冷 TempNew_v(); uart_temp=' '; break; case 'x'://停止加热 TempNew_x(); uart_temp=' '; break; case 'z'://停止制冷 TempNew_z(); uart_temp=' '; break; //************************************************************ case 'c'://回家模式 Home_Mode_Backhome(); break; case 'e'://浪漫模式 Home_Mode_Romatic(); break; case 'f'://离家模式 Home_Mode_Awayhome(); break; default:break; } } //return 0; }