Exemple #1
0
void msp430_set_cpu_speed(uint32_t speed)
{

    dint();
    __msp430_cpu_speed = speed;
    msp430_init_dco();
    uint16_t br;

    U0CTL = SWRST;
    U0CTL = SWRST | CHAR;          // 8-bit character
    U0TCTL = SSEL1 | TXEPT;        // UCLK = SCLK
    U0RCTL = 0;
    // activate
    ME1 |= UTXE0 + URXE0;          // Enable USART0 TXD/RXD
    br = (uint16_t)((__msp430_cpu_speed & 0xFFFFF0) / 115200uL);
    UBR00  = br;                   // set baudrate
    UBR10  = br>>8;
    UMCTL0 = calc_umctl(br);       // set modulation

    U0CTL &= ~SWRST;

    //URCTL0 |= URXEIE;            // allow chars to interrupt
    IE1  |= URXIE0;                // enable rx interrupt
    IFG1 &= ~UTXIFG0;
    eint();
}
Exemple #2
0
void msp430_set_cpu_speed(uint32_t speed)
{
    disableIRQ();
    __msp430_cpu_speed = speed;
    msp430_init_dco();
    enableIRQ();
}
Exemple #3
0
//! Initialize registers and all that jazz.
void init(){
  volatile unsigned int i;
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  
  //LED and TX OUT
  PLEDDIR |= PLEDPIN;
  
  msp430_init_dco();
  msp430_init_uart();
  
  //Enable Interrupts.
  //eint();
}
Exemple #4
0
//! Initialize registers and all that jazz.
void init(){
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  
  //LED out and on.
  PLEDDIR |= PLEDPIN;
  PLEDOUT |= PLEDPIN;
  
  //Setup clocks, unique to each '430.
  msp430_init_dco();
  msp430_init_uart();
  
  //Enable Interrupts.
  //eint();
}
Exemple #5
0
void board_init(void)
{
    msp430_cpu_init();
    /* disable watchdog timer */
    WDTCTL     =  WDTPW + WDTHOLD;

    telosb_ports_init();

    msp430_init_dco();

    /* initialize bsp modules */
    uart_init();

    /* enable interrupts */
    __bis_SR_register(GIE);
}
Exemple #6
0
void msp430_set_cpu_speed(uint32_t speed)
{
	dint();
	__msp430_cpu_speed = speed;
	msp430_init_dco();
	uint16_t br;
    UCTL1 = SWRST | CHAR;		// 8-bit character
    UTCTL1 |= SSEL1 | URXSE;	// UCLK = MCLK
    // activate
    U1ME |= UTXE1 | URXE1;		// Enable USART1 TXD/RXD
	br = (uint16_t)(__msp430_cpu_speed / 115200uL);
	UBR01  = br;				// set baudrate
	UBR11  = br>>8;
	UMCTL1 = calc_umctl(br);	// set modulation

	UCTL1 &= ~SWRST;
	//clock_init();
	eint();
}
Exemple #7
0
void board_init(void)
{
    /* init CPU core */
    msp430_cpu_init();

    /* disable watchdog timer */
    WDTCTL     =  WDTPW + WDTHOLD;

    /* init MCU pins as adequate for Z1 hardware */
    z1_ports_init();

    /* initializes DCO */
    msp430_init_dco();

    /* initialize UART/USB module */
    uart_init();

    /* enable interrupts */
    __bis_SR_register(GIE);
}
Exemple #8
0
void init_hw()
{
	WDTCTL = WDTPW + WDTHOLD;	/* stop WDT */
	msp430_init_dco();
	P3SEL = BIT4 | BIT5;	/* P3.4,5 = USCI_A0 TXD/RXD */
	P3DIR = BIT0 | BIT1 | BIT3;	/* reset, baud_rate, PIO3 */ 
	P3OUT = BIT0;
	UCA0CTL1 |= UCSSEL_2;	/* SMCLK */
	set_baud_115200();
	UCA0CTL1 &= ~UCSWRST;	/* Initialize USCI state machine */
	IE2 |= UCA0RXIE;	/* Enable USCI_A0 RX interrupt */

	/* IR configs */
	P1SEL = BIT5;  /* Set as alternate function */
	P1DIR = BIT4 | BIT5;    /* P1.4,5 = IR_OUT1, IR_OUT2 */
	P1OUT &= ~(BIT4 | BIT5);	/* Turn off IR LED */
	CCTL1 = CCIE;	/* CCR1 interrupt enabled */
 	CCR1 = (SYS_CLK * US_PER_SYS_TICK) - 1;
	CCTL0 = OUTMOD_4;  /* CCR0 interrupt disabled and Toggle */
	TACTL = TASSEL_2 +  MC_2; /* SMCLK, continuous */

	__bis_SR_register(GIE);	/* interrupts enabled */
}