Files
@ aa624684a65e
Branch filter:
Location: FeatherHAB/wsprhab/src/gpio.c - annotation
aa624684a65e
2.2 KiB
text/plain
Update CMSIS and HAL library, fixes USART issues! Now the uart actually receives data from the GPS.
0d9900312165 0d9900312165 0dd5c923fdea 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 aa624684a65e aa624684a65e 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 aa624684a65e aa624684a65e aa624684a65e aa624684a65e aa624684a65e aa624684a65e aa624684a65e aa624684a65e aa624684a65e 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 aa624684a65e aa624684a65e aa624684a65e aa624684a65e aa624684a65e 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0d9900312165 0dd5c923fdea 0dd5c923fdea 0dd5c923fdea 0dd5c923fdea 0dd5c923fdea 0dd5c923fdea 0dd5c923fdea 0dd5c923fdea 0dd5c923fdea 0dd5c923fdea | #include "gpio.h"
void gpio_init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
/* GPIO Ports Clock Enable */
__GPIOF_CLK_ENABLE();
__GPIOA_CLK_ENABLE();
__GPIOB_CLK_ENABLE();
// Oscillator enable pin
GPIO_InitStruct.Pin = OSC_EN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
// GPS enable pin
GPIO_InitStruct.Pin = GPS_NEN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
HAL_GPIO_Init(GPS_NEN_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PA0 PA2 PA3 PA4
PA5 PA7 PA15 */
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4
|GPIO_PIN_5|GPIO_PIN_7|GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
// /*Configure GPIO pin : PA1 */
// GPIO_InitStruct.Pin = GPIO_PIN_1;
// GPIO_InitStruct.Mode = GPIO_MODE_EVT_RISING;
// GPIO_InitStruct.Pull = GPIO_NOPULL;
// HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = LED_BLUE_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
HAL_GPIO_Init(LED_BLUE_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PB1 PB3 PB4 PB5 */
GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = TCXO_EN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
HAL_GPIO_Init(TCXO_EN_GPIO_Port, &GPIO_InitStruct);
}
void led_blink(uint8_t n)
{
for(int i = 0; i < n; i++)
{
HAL_GPIO_WritePin(LED_BLUE, 1);
HAL_Delay(100);
HAL_GPIO_WritePin(LED_BLUE, 0);
HAL_Delay(100);
}
}
|