コード例 #1
0
void main(int argc, char *argv[])
{
    CSL_init();

    TACCTL0 &= ~CCIE;                           // Disable GRACE enabled interrupt
                                                // for application specific code
    TimerA_UART_print("G2xx2 TimerA UART\r\n");
    TimerA_UART_print("READY.\r\n");

    while (1)
    {
        // Wait for incoming character
        __bis_SR_register(LPM0_bits);

        // Update board outputs according to received byte
        if (rxBuffer & 0x01) P1OUT |= 0x01; else P1OUT &= ~0x01;    // P1.0
        if (rxBuffer & 0x02) P1OUT |= 0x08; else P1OUT &= ~0x08;    // P1.3
        if (rxBuffer & 0x04) P1OUT |= 0x10; else P1OUT &= ~0x10;    // P1.4
        if (rxBuffer & 0x08) P1OUT |= 0x20; else P1OUT &= ~0x20;    // P1.5
        if (rxBuffer & 0x10) P1OUT |= 0x40; else P1OUT &= ~0x40;    // P1.6
        if (rxBuffer & 0x20) P1OUT |= 0x80; else P1OUT &= ~0x80;    // P1.7
        if (rxBuffer & 0x40) P2OUT |= 0x40; else P2OUT &= ~0x40;    // P2.6
        if (rxBuffer & 0x80) P2OUT |= 0x80; else P2OUT &= ~0x80;    // P2.7

        // Echo received character
        TimerA_UART_tx(rxBuffer);
    }
}
コード例 #2
0
ファイル: skeleton.c プロジェクト: Quaxxx/RPSS16
main()
{
	LOG_printf(&myLog, "main begin");
	/*DSK6713_LED_toggle(0);
	DSK6713_LED_toggle(1);
	DSK6713_LED_toggle(2);
	DSK6713_LED_toggle(3);*/
	hMcbsp = 0;

	
	CSL_init();  
	
	/* Configure McBSP0 and AIC23 */
	Config_DSK6713_AIC23();
	
	/* Configure McBSP1*/
	hMcbsp = MCBSP_open(MCBSP_DEV1, MCBSP_OPEN_RESET);
    MCBSP_config(hMcbsp, &datainterface_config);
    
	/* configure EDMA */
    config_EDMA();

    /* finally the interrupts */
    config_interrupts();

    //MCBSP_start(hMcbsp, RRST, 0xffffffff);									//	EIGEN!!!:	Start Field: Recieve
    MCBSP_start(hMcbsp, MCBSP_RCV_START | MCBSP_XMIT_START | MCBSP_SRGR_START | MCBSP_SRGR_FRAMESYNC, 220);		//	EIGEN!!!:	Start Field: Recieve
    																			//				Es gibt auch noch MCBSP_SRGR_START (start sample Rate Generator) und MCBSP_SRGR_FRAMESYNC (start frame sync. generation)
    MCBSP_write(hMcbsp, 0x0); 	/* one shot */
	LOG_printf(&myLog, "main end");

	//DSK6713_LED_toggle(2);
} /* finished*/
コード例 #3
0
ファイル: skeleton.c プロジェクト: Sandy4321/DSP_ADPCM
main()
{

	CSL_init();  
	
	/* Configure McBSP0 and AIC23 */
	Config_DSK6713_AIC23();
	
	/* Configure McBSP1*/
	hMcbsp = MCBSP_open(MCBSP_DEV1, MCBSP_OPEN_RESET);
    MCBSP_config(hMcbsp, &datainterface_config);
    
	/* configure EDMA */
    config_EDMA();

	DSK6713_LED_off(0);
	DSK6713_LED_on(1);
	DSK6713_LED_off(2);
	DSK6713_LED_on(3);
    /* finally the interrupts */
    config_interrupts();

    MCBSP_start(hMcbsp, MCBSP_XMIT_START | MCBSP_RCV_START, 0xffffffff);		// Start Audio IN & OUT transmision
    MCBSP_write(hMcbsp, 0x0); 	/* one shot */

    configComplete = 1;
    //t_reg = DSK6713_rget(DSK6713_MISC);
    //t_reg |= MCBSP1SEL;				// Set MCBSP1SEL to 1 (extern)
    //DSK6713_rset(DSK6713_MISC,t_reg);

} /* finished*/
コード例 #4
0
ファイル: main.c プロジェクト: Mapleaph/LH1008
void initboard()
{
	CSL_init();
	PLL_Init();
	EMIF_Init();
	TIMER_Init();

	IRQ_globalDisable();
}
コード例 #5
0
/*
 *  ======== main ========
 */
void main(int argc, char *argv[])
{
    CSL_init();

    while(1)
    {
       P1OUT ^= 0x01;                           // Toggle P1.0 using exclusive-OR
      _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3 w/interrupt
    }
}
コード例 #6
0
/*
 *  ======== main ========
 */
void main(int argc, char *argv[])
{
    CSL_init();
    USICTL0 &= ~USISWRST;                 // USI released for operation
    USISRL = P1IN;                        // init-load data
    USICNT = 8;                           // init-load counter

      _BIS_SR(LPM0_bits + GIE);             // Enter LPM0 w/ interrupt

}
コード例 #7
0
int main(void)
{
    CSL_init();

    while (1)
    {
      __bis_SR_register(CPUOFF + GIE);        // Enter LPM0 w/ interrupts
      __no_operation();                       // Set breakpoint >>here<< and read
    }                                         // RXData
}
コード例 #8
0
int main(void) {

	/* Initialize the CSL and the CPLD */
	CSL_init();
	DSK6713_init();
	DSK6713_LED_init();

	/* Turn on one LED so we can see it executed at least the main function */
	DSK6713_LED_on(0);

	/* Initialize the DIP switches to be able to read them */
	DSK6713_DIP_init();


	/* Configure the codec according to the definitions in config_AIC23.c
	 * via the McBSP0 interface
	 */
	conf_AIC23();

	/* Configure the McBSP to transfer the data from and to the codec */
	conf_MCBSP();

	/* Start the MCBSP */
	start_MCBSP();

	/* Configure EDMA */
	conf_EDMA();

	/* Time to initialize the buffer and zerofill it */
	for(i = 0; i < 10; i++) FIFO_I[i] = 0;
	for(i = 0; i < 10; i++) FIFO_Q[i] = 0;


	/* Config Interrupts */
	IRQ_enable(IRQ_EVT_EDMAINT);
	IRQ_map(IRQ_EVT_EDMAINT, 8);
	IRQ_globalEnable();

	/* Enable the EDMA channels */
	EDMA_enableChannel(hEDMATrx);


	/******************************************************/
	/* We should be done here by now. The McBSP generates an
	 * Interrupt (called "event" in this case) each time
	 * there's a new word ready to be written or ready to
	 * be transferred from the serial port to the
	 * input buffer. We use it for the golden wire config
	 * and will disable the input when we throw in the
	 * QPSK modulation algorithm as it is not needed by then.
	 */
	/******************************************************/

	/* End main - RTOS takes over */
}
コード例 #9
0
void init_DSK(void)
{
	// set up the C6713, the AIC and initialize the CSL libraries
	DSK6713_init();        // TI routine to initialize the 6713 DSK board
	CSL_init();            // TI routine to initialize CSL libraries when not using BIOS

	// Set up AIC through control port connected to MCBSP0
	aic_control = DSK6713_AIC23_openCodec(0, &aicsettings); // pointer to aic control serial port (0)
	DSK6713_AIC23_setFreq(aic_control, samprate);            // set the aic sample rate

}
コード例 #10
0
void main(int argc, char *argv[])
{
    CSL_init();

    while(1)
    {
      __bis_SR_register(LPM3_bits + GIE);     // Enter LPM3, enable interrupts
      P1OUT |= 0x01;                          // Set P1.0 LED on
      for (i = 5000; i > 0; i--);             // Delay
      P1OUT &= ~0x01;                         // Clear P1.0 LED off
    }
}
コード例 #11
0
/*
 *  ======== main ========
 */
int main(int argc, char *argv[])
{
    WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
    if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)
    {
      while(1);                               // If calibration constants erased
                                              // do not load, trap CPU!!
    }

    CSL_init();                     // Activate Grace-generated configuration

    __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled
}
コード例 #12
0
int main(int argc, char *argv[])
{
    CSL_init();                     // Activate Grace-generated configuration
    
	__disable_interrupt();
	ADC10CTL0 |= ENC;
	while (!(ADC10IFG & ADC10CTL0));          // First conversion?
	FirstADCVal = ADC10MEM;                   // Read out 1st ADC value
	P1OUT = 0x00;                             // Clear P1
	P1DIR = 0x01;                             // P1.0 as output
	__bis_SR_register(LPM0_bits + GIE);       // Enter LPM0 w/ interrupt

}
コード例 #13
0
/*
 *  ======== main ========
 */
void main(int argc, char *argv[])
{
    CSL_init();

    while(1)
    {
      int i;
      _BIS_SR(LPM3_bits + GIE);               // Enter LPM3
      P1OUT |= 0x01;                          // Set P1.0 LED on
      for (i = 5000; i>0; i--);               // Delay
      P1OUT &= ~0x01;                         // Reset P1.0 LED off
    }
}
コード例 #14
0
/*
 *  ======== main ========
 */
void main(int argc, char *argv[])
{
    CSL_init();

    USICTL0 &= ~USISWRST;                // Enable USI
	USICTL1 &= ~USIIFG;                  // Clear pending flag
	_EINT();

	while(1)
	{
		LPM0;                              // CPU off, await USI interrupt
		_NOP();                            // Used for IAR
	}
}
コード例 #15
0
void main(int argc, char *argv[])
{
    CSL_init();

    TACCTL0 &= ~CCIE;                         // Disable timer Interrupt
    ADC10CTL0 |= ENC;                         // Enable ADC conversions
    TACCTL1 = OUTMOD_4;                       // Toggle on EQU1 (TAR = 0)
    TACTL = TASSEL_2 + MC_2;                  // SMCLK, cont-mode
    while (!(ADC10IFG & ADC10CTL0));          // First conversion?
    FirstADCVal = ADC10MEM;                   // Read out 1st ADC value
    P1OUT = 0x00;                             // Clear P1
    P1DIR = 0x01;                             // P1.0 as output
    __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0 w/ interrupt
}
コード例 #16
0
/*
 *  ======== main ========
 */
void main(int argc, char *argv[])
{
	volatile unsigned int i;
    CSL_init();

    USICTL0 &= ~USISWRST;                 // USI released for operation
    USISRL = P1IN;                        // init-load data

    P1DIR |= 0x04;                        // Reset Slave
	P1DIR &= ~0x04;
	for (i = 0xFFF; i > 0; i--);          // Time for slave to ready
	USICNT = 8;                           // init-load counter
	_BIS_SR(LPM0_bits + GIE);             // Enter LPM0 w/ interrupt

}
コード例 #17
0
int main(int argc, char *argv[])
{
    WDTCTL = WDTPW+WDTHOLD;                   // Stop watchdog timer
    if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)
    {
      while(1);                               // If calibration constants erased
                                              // do not load, trap CPU!!
    }

    while(!(P3IN&0x01));                      // If clock sig from mstr stays low,
                                              // it is not yet in SPI mode
    CSL_init();                               // Activate Grace-generated configuration

    _BIS_SR(LPM3_bits + GIE);                 // Enter LPM4, enable interrupts
}
コード例 #18
0
/*
 *  ======== main ========
 */
int main(int argc, char *argv[])
{
    CSL_init();                     // Activate Grace-generated configuration
    
    // >>>>> Fill-in user code here <<<<<
    while(1)
    {
      volatile unsigned int i;

      P1OUT ^= 0x01;                          // Toggle P1.0 using exclusive-OR

      i = 50000;                              // Delay
      do (i--);
      while (i != 0);
    }
}
コード例 #19
0
void main(int argc, char *argv[])
{
    CSL_init();

    TXData = 0x00;                            // Holds TX data

    while (1)
    {
      TXByteCtr = 1;                          // Load TX byte counter
      while (UCB0CTL1 & UCTXSTP);             // Ensure stop condition got sent
      UCB0CTL1 |= UCTR + UCTXSTT;             // I2C TX, start condition
      __bis_SR_register(CPUOFF + GIE);        // Enter LPM0 w/ interrupts
                                              // Remain in LPM0 until all data
                                              // is TX'd
      TXData++;                               // Increment data byte
    }
}
コード例 #20
0
void main(int argc, char *argv[])
{

    CSL_init();

    P3OUT &= ~0x40;                           // Now with SPI signals initialized,
    P3OUT |= 0x40;                            // reset slave

    for (i = 50; i > 0; i--);                 // Wait for slave to initialize

    MST_Data = 0x01;                          // Initialize data values
    SLV_Data = 0x00;

    UCA0TXBUF = MST_Data;                     // Transmit first character

    __bis_SR_register(LPM0_bits + GIE);       // CPU off, enable interrupts
}
コード例 #21
0
void main(int argc, char *argv[])
{
    CSL_init();

    while(1)
    {
        ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start
        __bis_SR_register(CPUOFF + GIE);        // LPM0 with interrupts enabled

        // oF = ((A10/1024)*1500mV)-923mV)*1/1.97mV = A10*761/1024 - 468
        temp = ADC10MEM;
        IntDegF = ((temp - 630) * 761) / 1024;

        // oC = ((A10/1024)*1500mV)-986mV)*1/3.55mV = A10*423/1024 - 278
        temp = ADC10MEM;
        IntDegC = ((temp - 673) * 423) / 1024;

        __no_operation();                       // SET BREAKPOINT HERE
    }
}
コード例 #22
0
/*
 *  ======== main ========
 */
void main(int argc, char *argv[])
{
    CSL_init();

    __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled
}
コード例 #23
0
/*
 *  ======== main ========
 */
int main(int argc, char *argv[])
{
	CSL_init();                 // Activate Grace-generated configuration
	delay();					//
    System_Initial();			// initialize system.
   	delay();					// delay and wait the first conversion.
   	_enable_interrupt();		// enable interrupt

   	while(1)
   	{
   		// half a second interrupt.
   		if(flag & BIT7)
   		{
   			half_second();
   		}

   		// read ADC result
   		if(flag & BIT4)			//Read ADC result
   		{
   			ADC_display();
   		}

   		// one second interrupt to display time
   		if (flag & BIT3)
   		{
   			time_display();
   		}

   		if(flag & BIT1)				// if SW1 is pushed, threshold temperature
   		{							//   state machine will be changed
   			flag &= ~ BIT1;			// flag is reset
   			time_state = 0;			//when threshold temperature is setting,
   									//setting time is disable.
   			if(!customThreshold) {
   				meatSelect();		//Enter meat select menu if not setting custom
   			}
   			if(Thr_state >= 3)		// if in state 3, change to state 0;
   			{
   				Thr_state = 0;
   				Thr_temp = set_temp;				// assign threshold temperature
   				LCD_display_number(0,4,Thr_temp);	// display threshold temperature

   				customThreshold = 0;		//Reset custom threshold flag
   			}
   			else							//else, Thr_state is changed to next state
   			{
   				Thr_state ++;
   			}
   		}

   		if((flag & BIT2) && (!Thr_state))	// if SW2 is pushed, and Thr_state = 0,
   		{									// time setting state machine will be changed
   			flag &= ~ BIT2;					// flag is reset

   			if(!(P1IN & BIT3))
   			{
   				flag ^= BIT9;		// S2 and SW2 are pushed together to change input
   				flag ^= BIT8;
   				if(flag & BIT9)		// Display external temp
   					LCD_display_string(1,"   Ext :");
   				else				//Display probe temp
   					LCD_display_string(1," Probe :");
   			}
   			else
   			{
   				if(time_state >= 4)					// if in state 4, change to state 0;
   				{
   					time_state = 0;
   				 	time = set_time;				// assign actual time
   					set_time = 0;
   					LCD_display_time(0,8,time);		// display setting time
   				}
   				else
   				{
   					time_state ++;
   				}
   			}
   		}

   		if(flag & BIT0)				// P1.3 service, set the Threshold temp or Time.
   		{
   			flag &= ~ BIT0;			// flag is reset
   			if(Thr_state != 0)
   			{
   				set_Thrtemp();		// set threshold temperature.
   			}
   			else if(time_state != 0)
   			{
   				set_Time();			// set timer.
   			}
   			else
   				flag ^= BIT8;		// display temperature in Fahrenheit
   		}

   		else
   		__no_operation();
   	}
}
コード例 #24
0
ファイル: suart.c プロジェクト: rbulha/bluebread
/*
 *  ======== main ========
    (testing routine by now)
 */
int main(void)
{
    CSL_init();                         // Activate Grace-generated config

    init_uart();
    
    at_init(); /**init AT command interpreter */

	P1OUT |= 0x01; //LED
	
	P1OUT |= 0x40; //Key
	
	putstr("Blue bread terminal - ON\r\n");
	
    while (1) 
    {
    	if(txNow)
    	{
    		switch(at_inter(rxByte))
    		{
	            case E_ACK: 
		            bPublishFrame=0;
		            putstr("ok\r\n"); 
		            break;
	            case E_READ: 
	            switch(at_get_last_cmd())
	            {
	            	case E_LT_CMD_1: /**NAME*/ 
	            		putstr("bluebread\r\n"); 
	            		break;
	            	case E_LT_CMD_2: /**PORT*/
	    				putstr("P1.b3|b4|b5= ");
				        txPortStatus = 0x08;
				        for(Portloop=0;Portloop<3;Portloop++)
				        {
				        	txPortStatus = txPortStatus << Portloop; 
					        if( (P1IN & txPortStatus) == txPortStatus )
					        	putstr("1|");
					        else	
					        	putstr("0|");
				        }
				        putstr("\n\r");
		            	break;
	            	case E_LT_CMD_3: /**VERSION*/ 
	            		putstr("Bluebread version 1.0.0\r\n"); 
	            		break;
	            	case E_LT_CMD_4: /**PUBLICATION*/ 
	            	    if(bPublishFrame)
	            			putstr("Publication frame=ON\r\n");
	            		else
	            			putstr("Publication frame=OFF\r\n");	 
	            		break;
	            	default: putstr("read\r\n"); break;
	            }
	            break;
	            case E_WRITE:
	            switch(at_get_last_cmd())
	            {
	            	case E_LT_CMD_1: /**NAME*/ 
	            		putstr("NAME is read only\r\n"); 
	            		break;
	            	case E_LT_CMD_2: /**PORT*/
	            		switch(at_get_write_value())
	            		{
	            			case '1': 
	            				P1OUT |= 0x01;
		            			putstr("LED1=ON\r\n");
		            			break;	
	            			case '0': 
	            				P1OUT &= ~0x01;
		            			putstr("LED1=OFF\r\n");
		            			break;	
		            		default: putstr("invalid state\r\n");
		            			break;	
	            		}
	            		break;
	            	case E_LT_CMD_3: /**VERSION*/ 
	            		putstr("VERSION is read only\r\n"); 
	            		break;
	            	case E_LT_CMD_4: /**PUBLICATION*/ 
	            		bPublishFrame = at_get_write_value();
	            		break;	
	            	default: putstr("write\r\n");	
	            }
	            break;	             
	            default: break;    			
    		}
    		/*
    		switch(rxByte)
    		{
    			case 'a':
    				putstr("P1|b3 |b4 |b5 |\r\n");
			        putstr("  |");
			        txPortStatus = 0x08;
			        for(Portloop=0;Portloop<3;Portloop++)
			        {
			        	txPortStatus = txPortStatus << Portloop; 
				        if( (P1IN & txPortStatus) == txPortStatus )
				        	putstr(" 1 |");
				        else	
				        	putstr(" 0 |");
			        }
			        putstr("\n\r");
	        		break;
	        	case 't':
	        	    P1OUT ^= 0x01;
	        	    putstr("Toggle LED\r\n");
	        		break;	
	        	case 'v':
	        	    putstr("Bluebread version 1.0.0\r\n");
	        		break;	
    			default:	
    				putstr("ok\r\n");
    				break;
    		}
    		*/
    		txNow = 0;
    	}
		 //__bis_SR_register(CPUOFF + GIE);  // Enter LPM3
		if( (bPublishFrame) && (uiPublishFrameCnt++ > 60000) )
		{
			uiPublishFrameCnt = 0;
			putstr("FRAME\r\n");
		}
			
    }
}
コード例 #25
0
/*
 *  ======== main ========
 */
void main(int argc, char *argv[])
{
    CSL_init();

    _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3, interrupts enabled
}
コード例 #26
0
/*
 *  ======== main ========
 */
void main(int argc, char *argv[])
{
    CSL_init();

    _BIS_SR(LPM4_bits + GIE);             // Enter LPM4 w/interrupt
}
コード例 #27
0
/*
 *  ======== main ========
 */
int main(int argc, char *argv[])
{
    CSL_init();                     // Activate Grace-generated configuration

    _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3, interrupts enabled
}