void halSpiInit(uint8 clockrate) { // Keep peripheral in reset state USICTL0 = USISWRST; // 8-bit SPI Master 3-pin mode USICTL0 |= USIPE7 + USIPE6 + USIPE5 + USIMST + USIOE; USICTL1 = USICKPH; // Use SMCLK as clock source, bit rate is clock source/2 USICKCTL = USIDIV0 + USISSEL1; // Set up pins used by peripheral unit MCU_IO_PERIPHERAL(HAL_SPI_SOMI_PORT, HAL_SPI_SOMI_PIN); MCU_IO_PERIPHERAL(HAL_SPI_SIMO_PORT, HAL_SPI_SIMO_PIN); MCU_IO_PERIPHERAL(HAL_SPI_CLK_PORT, HAL_SPI_CLK_PIN); MCU_IO_OUTPUT(HAL_SPI_CS_PORT, HAL_SPI_CS_PIN, 1); // Release for operation USICTL0 &= ~USISWRST; // Ensure SDO (SIMO) low USISRL = 0x00; USICNT = 1; }
void halSpiInit(uint8 clockrate) { // Keep peripheral in reset state U1CTL = SWRST; // 8-bit SPI Master 3-pin mode, with SMCLK as clock source U1CTL |= CHAR + SYNC + MM; U1TCTL |= CKPH + SSEL1 + SSEL0 + STC; // Ignore clockrate argument for now, just use clock source/2 U1BR0 = 0x02; U1BR1 = 0x00; U1MCTL = 0x00; // Enable SPI mode ME2 |= USPIE1; // Set up pins used by peripheral unit MCU_IO_PERIPHERAL(HAL_SPI_SOMI_PORT, HAL_SPI_SOMI_PIN); MCU_IO_PERIPHERAL(HAL_SPI_SIMO_PORT, HAL_SPI_SIMO_PIN); MCU_IO_PERIPHERAL(HAL_SPI_CLK_PORT, HAL_SPI_CLK_PIN); MCU_IO_OUTPUT(HAL_SPI_CS_PORT, HAL_SPI_CS_PIN, 1); // Release for operation U1CTL &= ~SWRST; }
void halSpiInit(uint8 clockrate) { // Keep peripheral in reset state UCA0CTL1 = UCSWRST; // 8-bit SPI Master 3-pin mode, with SMCLK as clock source UCA0CTL0 = UCCKPH + UCMSB + UCMST + UCSYNC; UCA0CTL1 |= UCSSEL1 + UCSSEL0; // Ignore clockrate argument for now, just use clock source/2 UCA0BR0 = 0x02; UCA0BR1 = 0x00; // Set up pins used by peripheral unit MCU_IO_PERIPHERAL(HAL_SPI_SOMI_PORT, HAL_SPI_SOMI_PIN); MCU_IO_PERIPHERAL(HAL_SPI_SIMO_PORT, HAL_SPI_SIMO_PIN); MCU_IO_PERIPHERAL(HAL_SPI_CLK_PORT, HAL_SPI_CLK_PIN); MCU_IO_OUTPUT(HAL_SPI_CS_PORT, HAL_SPI_CS_PIN, 1); // Release for operation UCA0CTL1 &= ~UCSWRST; }
/************************************************************************************ * @fn halJoystickInit * * @brief Initializes the joystick functionality * * @param void * * @return void * ************************************************************************************/ void halJoystickInit(void) { // Joystick push input MCU_IO_INPUT(HAL_BOARD_IO_JOY_MOVE_PORT, HAL_BOARD_IO_JOY_MOVE_PIN, \ MCU_IO_TRISTATE); // Analog input MCU_IO_PERIPHERAL(HAL_BOARD_IO_JOYSTICK_ADC_PORT, HAL_BOARD_IO_JOYSTICK_ADC_PIN); #ifdef JOYSTICK_ISR halDigioConfig(&pinJoystickMove); halDigioIntSetEdge(&pinJoystickMove, HAL_DIGIO_INT_RISING_EDGE); halDigioIntConnect(&pinJoystickMove, &halJoystickMoveISR); #endif }