stm32f0: usart: add code to enable USART 2

tags/0.1.0
S.J.R. van Schaik 7 years ago
parent 30f878e562
commit ad46f9ccae
  1. 2
      include/console.h
  2. 14
      source/drivers/usart_console.c

@ -6,4 +6,4 @@ struct usart_console;
typedef void (* process_line_func)(FILE *fp);
FILE *console_init(process_line_func process_line);
FILE *console_init(unsigned dev_id, process_line_func process_line);

@ -46,9 +46,8 @@ static void usart_isr(struct usart_console *console)
if (console->recv_buf[idx] == '\003')
scb_reset_system();
if (console->recv_buf[idx] == '\r' && console->process_line) {
if (console->recv_buf[idx] == '\r' && console->process_line)
console->process_line(console->fp);
}
}
}
@ -169,7 +168,7 @@ static int usart_init(struct usart_console *console)
return 0;
}
FILE *console_init(void (* process_line)(FILE *fp))
FILE *console_init(unsigned dev_id, void (* process_line)(FILE *fp))
{
cookie_io_functions_t fops = {
.read = usart_read,
@ -182,11 +181,16 @@ FILE *console_init(void (* process_line)(FILE *fp))
if (!(console = malloc(sizeof *console)))
return NULL;
console->dev = USART1;
switch (dev_id) {
case 0: console->dev = USART1; break;
case 1: console->dev = USART2; break;
default: return NULL;
}
console->cur = 0;
console->next = 0;
console->process_line = process_line;
usart[0] = console;
usart[dev_id] = console;
usart_init(console);

Loading…
Cancel
Save