void BlinkLed::toggle () { if (BLINK_GPIOx(fPortNumber)->IDR & fBitMask) { BLINK_GPIOx(fPortNumber)->ODR &= ~fBitMask; } else { BLINK_GPIOx(fPortNumber)->ODR |= fBitMask; } }
bool BlinkLed::isOn () { if (fIsActiveLow) { return (BLINK_GPIOx(fPortNumber)->IDR & fBitMask) == 0; } else { return (BLINK_GPIOx(fPortNumber)->IDR & fBitMask) != 0; } }
void BlinkLed::turnOff () { if (fIsActiveLow) { BLINK_GPIOx(fPortNumber)->BSRR = fBitMask; } else { BLINK_GPIOx(fPortNumber)->BSRR = BLINK_PIN_MASK(fBitNumber + 16); } }
void Gpio::toggle () { if (false == valid) { return; } if (BLINK_GPIOx(fPortNumber)->IDR & fBitMask) { BLINK_GPIOx(fPortNumber)->ODR &= ~fBitMask; } else { BLINK_GPIOx(fPortNumber)->ODR |= fBitMask; } }
void Gpio::turnOff () { if (false == valid) { return; } if (fIsActiveLow) { BLINK_GPIOx(fPortNumber)->BSRR = fBitMask; } else { BLINK_GPIOx(fPortNumber)->BSRR = BLINK_PIN_MASK(fBitNumber + 16); } }
bool Gpio::isOn () { if (false == valid) { return false; } bool isHigh; if (fIsActiveLow) { isHigh = ((BLINK_GPIOx(fPortNumber)->IDR & fBitMask) == 0) ? true: false; } else { isHigh = ((BLINK_GPIOx(fPortNumber)->IDR & fBitMask) != 0) ? true: false; } return isHigh; }
void BlinkLed::powerUp() { // Turn on clock for port module SIM->SCGC5 |= BLINK_SCGC5_MASKx(BLINK_PORT_NUMBER); // Set the pin multiplexer to GPIO mode BLINK_PORTx(BLINK_PORT_NUMBER)->PCR[BLINK_PIN_NUMBER] = PORT_PCR_MUX(1); // Set the pin as output BLINK_GPIOx(BLINK_PORT_NUMBER)->PDDR |= BLINK_PIN_MASK(BLINK_PIN_NUMBER); // Start with led turned off turnOff(); }
void led_init() { // Enable GPIO Peripheral clock RCC->AHB1ENR |= BLINK_RCC_MASKx(BLINK_PORT_NUMBER); GPIO_InitTypeDef GPIO_InitStructure; // Configure pin in output push/pull mode GPIO_InitStructure.Pin = BLINK_PIN_MASK(BLINK_PIN_NUMBER); GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStructure.Speed = GPIO_SPEED_FAST; GPIO_InitStructure.Pull = GPIO_PULLUP; HAL_GPIO_Init(BLINK_GPIOx(BLINK_PORT_NUMBER), &GPIO_InitStructure); // Start with led turned off led_on(); }
void BlinkLed::powerUp () { // Enable GPIO Peripheral clock RCC->AHB1ENR |= BLINK_RCC_MASKx(fPortNumber); GPIO_InitTypeDef GPIO_InitStructure; // Configure pin in output push/pull mode GPIO_InitStructure.Pin = fBitMask; GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStructure.Speed = GPIO_SPEED_FAST; GPIO_InitStructure.Pull = GPIO_PULLUP; HAL_GPIO_Init (BLINK_GPIOx(fPortNumber), &GPIO_InitStructure); // Start with led turned off turnOff (); }
void Gpio::powerUp () { if (false == valid) { return; } // Enable GPIO Peripheral clock RCC->AHB1ENR |= BLINK_RCC_MASKx(fPortNumber); GPIO_InitTypeDef GPIO_InitStructure; // Configure pin in output push/pull mode GPIO_InitStructure.Pin = fBitMask; GPIO_InitStructure.Mode = mode; GPIO_InitStructure.Speed = GPIO_SPEED_FAST; GPIO_InitStructure.Pull = pull; HAL_GPIO_Init (BLINK_GPIOx(fPortNumber), &GPIO_InitStructure); // Start with led turned off turnOff (); }
blink_led_off(void) { HAL_GPIO_WritePin(BLINK_GPIOx(BLINK_PORT_NUMBER), BLINK_PIN_MASK(BLINK_PIN_NUMBER), GPIO_PIN_RESET); }