mirror of
https://github.com/WeActStudio/WeActStudio.EpaperModule.git
synced 2026-08-16 13:13:45 +02:00
first commit
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
/*---------------------------------------
|
||||
- WeAct Studio Official Link
|
||||
- taobao: weactstudio.taobao.com
|
||||
- aliexpress: weactstudio.aliexpress.com
|
||||
- github: github.com/WeActTC
|
||||
- gitee: gitee.com/WeAct-TC
|
||||
- blog: www.weact-tc.cn
|
||||
---------------------------------------*/
|
||||
|
||||
#include "board.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
void board_usart0_init(void)
|
||||
{
|
||||
/* enable GPIO clock */
|
||||
rcu_periph_clock_enable(RCU_GPIOA);
|
||||
|
||||
/* enable USART clock */
|
||||
rcu_periph_clock_enable(RCU_USART0);
|
||||
|
||||
/* connect port to USARTx_Tx */
|
||||
gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);
|
||||
|
||||
/* connect port to USARTx_Rx */
|
||||
gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10);
|
||||
|
||||
/* USART configure */
|
||||
usart_deinit(USART0);
|
||||
usart_baudrate_set(USART0, 115200U);
|
||||
usart_word_length_set(USART0, USART_WL_8BIT);
|
||||
usart_stop_bit_set(USART0, USART_STB_1BIT);
|
||||
usart_parity_config(USART0, USART_PM_NONE);
|
||||
usart_hardware_flow_rts_config(USART0, USART_RTS_DISABLE);
|
||||
usart_hardware_flow_cts_config(USART0, USART_CTS_DISABLE);
|
||||
usart_receive_config(USART0, USART_RECEIVE_ENABLE);
|
||||
usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);
|
||||
usart_enable(USART0);
|
||||
}
|
||||
|
||||
/* retarget the C library printf function to the USART */
|
||||
int fputc(int ch, FILE *f)
|
||||
{
|
||||
usart_data_transmit(USART0, (uint8_t)ch);
|
||||
while (RESET == usart_flag_get(USART0, USART_FLAG_TBE))
|
||||
;
|
||||
|
||||
return ch;
|
||||
}
|
||||
|
||||
void board_led_init(void)
|
||||
{
|
||||
/* enable the led clock */
|
||||
rcu_periph_clock_enable(RCU_GPIOB);
|
||||
/* configure led GPIO port */
|
||||
gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_2);
|
||||
|
||||
GPIO_BC(GPIOB) = GPIO_PIN_2;
|
||||
}
|
||||
|
||||
void board_led_on(void)
|
||||
{
|
||||
GPIO_BOP(GPIOB) = GPIO_PIN_2;
|
||||
}
|
||||
|
||||
void board_led_off(void)
|
||||
{
|
||||
GPIO_BC(GPIOB) = GPIO_PIN_2;
|
||||
}
|
||||
|
||||
void board_led_toggle(void)
|
||||
{
|
||||
gpio_bit_write(GPIOB, GPIO_PIN_2,
|
||||
(bit_status)(1 - gpio_input_bit_get(GPIOB, GPIO_PIN_2)));
|
||||
}
|
||||
|
||||
void board_button_init(void)
|
||||
{
|
||||
/* enable the button clock */
|
||||
rcu_periph_clock_enable(RCU_GPIOA);
|
||||
rcu_periph_clock_enable(RCU_AF);
|
||||
|
||||
/* configure button pin as input */
|
||||
gpio_init(GPIOA, GPIO_MODE_IPD, GPIO_OSPEED_50MHZ, GPIO_PIN_0);
|
||||
}
|
||||
|
||||
uint8_t board_button_state_get(void)
|
||||
{
|
||||
return gpio_input_bit_get(GPIOA, GPIO_PIN_0);
|
||||
}
|
||||
Reference in New Issue
Block a user