void main(void) { char x=10; char y=10; CLK->CKDIVR = 0; disableInterrupts(); Init_GPIO(); Init_TIM1(); Init_Clock(); usb_init(); enableInterrupts(); while(usb_ready == 0) { usb_process(); } while(1) { delay(100); if(get_random_byte()>127) { x=-x; y=-y; } data_buffer[0] = 0x00; data_buffer[1] = x; data_buffer[2] = y; data_buffer[3] = 0x00; usb_send_data(&data_buffer[0], 4, 0); } }
void cinit() { ticks=0; position=800; startposition=0; mouse_x=0; mouse_y=0; mouse_state=0; NR_user=0; NR_task=0; Disp_Machine_Info(); // Init_Paging(); Init_Mem(); disp_str("Initializing Memory........\n"); Init_IRQ(); disp_str("Enable IRQ........\n"); Init_Prot(); disp_str("Enable protection........\n"); Init_Mouse(); Init_Keyboard(); disp_str("Enable Keyboard........\n"); Init_Process(); disp_str("Initializing Process........\n"); Init_Clock(); disp_str("Enable PIT........\n"); Init_x87_FPU(); Update_Cursor(position); Init_VM8086(); // Init_Ne2k(); }
VOID Init_StartUp(VOID) { __disable_interrupt(); // Disable global interrupts Init_Ports(); // Init ports (do first ports because clocks do change ports) SetVCore(3); // USB core requires the VCore set to 1.8 volt, independ of CPU clock frequency Init_Clock(); __enable_interrupt(); // enable global interrupts }
INT8U Test_Settle_Settle_Data() { INT8U i; //S_HEX_Time TempTime; Init_Clock(SYS_NORMAL); Read_Storage_Data(SDI_MONTH_SETTLE_DAY1,(void *)Settle_Time.Time_D_H[0],(void *)Settle_Time.Time_D_H[0],sizeof(Settle_Time.Time_D_H[0])); Read_Storage_Data(SDI_MONTH_SETTLE_DAY2,(void *)Settle_Time.Time_D_H[1],(void *)Settle_Time.Time_D_H[1],sizeof(Settle_Time.Time_D_H[1])); Read_Storage_Data(SDI_MONTH_SETTLE_DAY3,(void *)Settle_Time.Time_D_H[2],(void *)Settle_Time.Time_D_H[2],sizeof(Settle_Time.Time_D_H[2])); Settle_Energy_Data((S_HEX_Time *)&Cur_Time0); for(i=0;i<MAX_ENERGY_SETTLE_NUM;i++) { if(sizeof(Cur_Energy)!=Read_His_Energy_Data(i,(void *)&Cur_Energy,(void *)&Cur_Energy,sizeof(Cur_Energy))) return 0; } return 1; }
void main(void) { WDTCN = 0xDE; WDTCN = 0xAD; EA = 0; Init_Clock(); Init_Port(); Init_Timer0(SYSCLK); Init_Timer2(SYSCLK); Init_Timer3(SYSCLK); EA = 1; PIN_MOTOR_DIR = 0xFF; //set motor direction to clockwise; while(1) { } }
VOID Init_StartUp(VOID) { unsigned short bGIE; bGIE = (__get_SR_register() &GIE); //save interrupt status __disable_interrupt(); // Disable global interrupts # ifdef __MSP430F6638 // only for F663x devices! while (BAKCTL & LOCKBAK) // check if bit for backup subsystem is cleared { BAKCTL &= ~LOCKBAK; // clear lock backup bit for backup subsystem } # endif Init_Ports(); // Init ports (do first ports because clocks do change ports) SetVCore(3); // USB core requires the VCore set to 1.8 volt, independ of CPU clock frequency Init_Clock(); __bis_SR_register(bGIE); //restore interrupt status }
//---------------------------------------------------------------------------- VOID Init_StartUp(VOID) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer __disable_interrupt(); // Disable global interrupts Init_Ports(); // Init ports (do first ports because clocks do change ports) SetVCore(3); // USB core requires the VCore set to 1.8 volt, independ of CPU clock frequency Init_Clock(); __enable_interrupt(); // enable global interrupts Port_Mapping(); #ifdef UART0_INTFNUM InitUart0(9600); #endif #ifdef UART1_INTFNUM InitUart1(9600); #endif }
VOID Init_StartUp(VOID) { unsigned short bGIE; bGIE = (__get_SR_register() &GIE); //save interrupt status __disable_interrupt(); // Disable global interrupts # ifdef __MSP430F6638 // only for F663x devices! while (BAKCTL & LOCKBAK) // check if bit for backup subsystem is cleared { BAKCTL &= ~LOCKBAK; // clear lock backup bit for backup subsystem } # endif Init_Ports(); // Init ports (do first ports because clocks do change ports) SetVCore(3); // USB core requires the VCore set to 1.8 volt, independ of CPU clock frequency Init_Clock(); # if 0 // Use for FET boards // Configure P1.6 as a button input P1DIR &= ~BIT6; // Input P1OUT |= BIT6; P1REN |= BIT6; // Together with P1OUT, creates a pullup P1IFG &= ~BIT6; // Clear the flag P1IE |= BIT6; // Enable interrupts # else // Use for F5529 EXP board P1DIR &= ~BIT7; // Input P1OUT |= BIT7; P1REN |= BIT7; // Together with P1OUT, creates a pullup P1IFG &= ~BIT7; // Clear the flag P1IE |= BIT7; // Enable interrupts # endif __bis_SR_register(bGIE); //restore interrupt status }
/* * ======== main ======== */ VOID main (VOID) { WDTCTL = WDTPW + WDTHOLD; //Stop watchdog timer Init_Ports(); //Init ports (do first ports because clocks do change ports) SetVCore(3); Init_Clock(); //Init clocks USB_init(); //Init USB Init_TimerA1(); //Enable various USB event handling routines USB_setEnabledEvents( kUSB_VbusOnEvent + kUSB_VbusOffEvent + kUSB_receiveCompletedEvent + kUSB_dataReceivedEvent + kUSB_UsbSuspendEvent + kUSB_UsbResumeEvent + kUSB_UsbResetEvent); //See if we're already attached physically to USB, and if so, connect to it //Normally applications don't invoke the event handlers, but this is an exception. if (USB_connectionInfo() & kUSB_vbusPresent){ USB_handleVbusOnEvent(); } __enable_interrupt(); //Enable interrupts globally while (1) { BYTE i; //Check the USB state and directly main loop accordingly switch (USB_connectionState()) { case ST_USB_DISCONNECTED: __bis_SR_register(LPM3_bits + GIE); //Enter LPM3 w/ interrupts enabled _NOP(); //For Debugger break; case ST_USB_CONNECTED_NO_ENUM: break; case ST_ENUM_ACTIVE: __bis_SR_register(LPM0_bits + GIE); //Enter LPM0 (can't do LPM3 when active) _NOP(); //For Debugger //Exit LPM on USB receive and perform a receive //operation if (bCDCDataReceived_event){ //Some data is in the buffer; begin receiving a //command char pieceOfString[MAX_STR_LENGTH] = ""; //Holds the new addition to the string char outString[MAX_STR_LENGTH] = ""; //Holds the outgoing string //Add bytes in USB buffer to theCommand cdcReceiveDataInBuffer((BYTE*)pieceOfString, MAX_STR_LENGTH, CDC0_INTFNUM); //Get the next piece of the string strcat(wholeString,pieceOfString); cdcSendDataInBackground((BYTE*)pieceOfString, strlen(pieceOfString),CDC0_INTFNUM,0); //Echoes back the characters received (needed //for Hyperterm) if (retInString(wholeString)){ //Has the user pressed return yet? if (!(strcmp(wholeString, "LED ON"))){ //Compare to string #1, and respond TA1CTL &= ~MC_1; //Turn off Timer P1OUT |= BIT0; //Turn on LED P1.0 strcpy(outString,"\r\nLED is ON\r\n\r\n"); //Prepare the outgoing string cdcSendDataInBackground((BYTE*)outString, strlen(outString),CDC0_INTFNUM,0); //Send the response over USB } else if (!(strcmp(wholeString, "LED OFF"))){ //Compare to string #2, and respond TA1CTL &= ~MC_1; //Turn off Timer P1OUT &= ~BIT0; //Turn off LED P1.0 strcpy(outString,"\r\nLED is OFF\r\n\r\n"); //Prepare the outgoing string cdcSendDataInBackground((BYTE*)outString, strlen(outString),CDC0_INTFNUM,0); //Send the response over USB } else if (!(strcmp(wholeString, "LED TOGGLE - SLOW"))){ //Compare to string #3, and respond TA1CTL &= ~MC_1; //Turn off Timer TA1CCR0 = SlowToggle_Period; //Set Timer Period for slow LED toggle TA1CTL |= MC_1; //Start Timer strcpy(outString, "\r\nLED is toggling slowly\r\n\r\n"); //Prepare the outgoing string cdcSendDataInBackground((BYTE*)outString, strlen(outString),CDC0_INTFNUM,0); //Send the response over USB } else if (!(strcmp(wholeString, "LED TOGGLE - FAST"))){ //Compare to string #4, and respond TA1CTL &= ~MC_1; //Turn off Timer TA1CCR0 = FastToggle_Period; //Set Timer Period for fast LED toggle TA1CTL |= MC_1; strcpy(outString,"\r\nLED is toggling fast\r\n\r\n"); //Prepare the outgoing string cdcSendDataInBackground((BYTE*)outString, strlen(outString),CDC0_INTFNUM,0); //Send the response over USB } else { //Handle other strcpy(outString,"\r\nNo such command!\r\n\r\n"); //Prepare the outgoing string cdcSendDataInBackground((BYTE*)outString, strlen(outString),CDC0_INTFNUM,0); //Send the response over USB } for (i = 0; i < MAX_STR_LENGTH; i++){ //Clear the string in preparation for the next //one wholeString[i] = 0x00; } } bCDCDataReceived_event = FALSE; } break; case ST_ENUM_SUSPENDED: P1OUT &= ~BIT0; //When suspended, turn off LED __bis_SR_register(LPM3_bits + GIE); //Enter LPM3 w/ interrupts _NOP(); break; case ST_ENUM_IN_PROGRESS: break; case ST_NOENUM_SUSPENDED: P1OUT &= ~BIT0; __bis_SR_register(LPM3_bits + GIE); _NOP(); break; case ST_ERROR: _NOP(); break; default:; } } //while(1) } //main()
int main(void) { /* Initialize LEDs and User_Button on STM32F4-Discovery --------------------*/ __IO uint32_t i = 0; Init_Clock(); My_SPI_Init(); USBD_Init(&USB_OTG_dev, USB_OTG_FS_CORE_ID, &USR_desc, &USBD_CDC_cb, &USR_cb); STM_EVAL_LEDInit(LED6); STM_EVAL_LEDInit(LED4); STM_EVAL_LEDInit(LED3); STM_EVAL_LEDInit(LED5); //STM_EVAL_LEDOn(LED4); //STM_EVAL_LEDOn(LED3); STM_EVAL_PBInit(BUTTON_USER, BUTTON_MODE_EXTI); LSM303DLHC_MEMS_Init(); L3GD20_MEMS_Init(); //My_UD_Init();//init X9C102 //My_ADC_Init(); //ADC_SoftwareStartConv(ADC1); /* Infinite loop */ Potentialmeter_SetValue(127,CHIP1); while (1) { run_function2(); /* while(UserButtonPressed==0x00){ if(Button_state == BUTTON_STATE_1){ wait(10000);} if(Button_state == BUTTON_STATE_2){ run_function1();wait(10000);} if(Button_state == BUTTON_STATE_3){ run_function2();} } wait(1000); while (STM_EVAL_PBGetState(BUTTON_USER) == Bit_SET){} wait(1000); if(Button_state == BUTTON_STATE_3){ Button_state = BUTTON_STATE_1; STM_EVAL_LEDOff(LED4); STM_EVAL_LEDOff(LED3); STM_EVAL_LEDOff(LED5); STM_EVAL_LEDOff(LED6); }else if(Button_state == BUTTON_STATE_1){ Button_state = BUTTON_STATE_2; //run_function(); }else if(Button_state == BUTTON_STATE_2){ Button_state = BUTTON_STATE_3; //run_function(); } wait(1000); UserButtonPressed = 0x00; */ } }