Beispiel #1
0
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);
	}
}
Beispiel #2
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();

}
Beispiel #3
0
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) { }
}
Beispiel #6
0
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
}
Beispiel #8
0
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
}
Beispiel #9
0
/*  
 * ======== 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()
Beispiel #10
0
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;		*/
		}
		
	 
	
	
	
	
}