mirror of
https://github.com/WeActStudio/WeActStudio.EpaperModule.git
synced 2026-08-16 13:13:45 +02:00
46 lines
1.1 KiB
C
46 lines
1.1 KiB
C
#include "usart.h"
|
|
|
|
/* for MicroLIB */
|
|
int fputc(int ch, FILE *f)
|
|
{
|
|
/* Place your implementation of fputc here */
|
|
/* e.g. write a character to the USART3 and Loop until the end of transmission */
|
|
usart_data_transmit(USART0, (uint8_t)ch);
|
|
while(RESET == usart_flag_get(USART0, USART_FLAG_TBE));
|
|
return ch;
|
|
}
|
|
|
|
/* for GNU */
|
|
int _write (int fd, char *pBuffer, int size)
|
|
{
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
usart_data_transmit(USART0, (uint8_t)pBuffer[i]);
|
|
while(RESET == usart_flag_get(USART0, USART_FLAG_TBE));
|
|
}
|
|
return size;
|
|
}
|
|
|
|
void usart0_config(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_receive_config(USART0, USART_RECEIVE_ENABLE);
|
|
usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);
|
|
usart_enable(USART0);
|
|
}
|
|
|