embox

Форк
0
/
diag_serial.c 
51 строка · 1.1 Кб
1
/**
2
 * @file
3
 * @brief
4
 *
5
 * @author  Anton Kozlov
6
 * @date    19.08.2013
7
 */
8

9
#include <drivers/diag.h>
10
#include <drivers/serial/uart_dev.h>
11

12
#include <drivers/serial/diag_serial.h>
13

14
static int uart_diag_init(const struct diag *diag) {
15
	struct uart_diag *uart_diag = (struct uart_diag *) diag;
16

17
	uart_set_params(uart_diag->uart, uart_diag->params);
18

19
	/* XXX */
20
	/* set params */
21
	uart_open(uart_diag->uart);
22
	/* allow future `open' */
23
	uart_close(uart_diag->uart);
24

25
	return 0;
26
};
27

28
static void uart_diag_putc(const struct diag *diag, char ch) {
29
	struct uart_diag *uart_diag = (struct uart_diag *) diag;
30

31
	uart_putc(uart_diag->uart, ch);
32
}
33

34
static char uart_diag_getc(const struct diag *diag) {
35
	struct uart_diag *uart_diag = (struct uart_diag *) diag;
36

37
	return uart_getc(uart_diag->uart);
38
}
39

40
static int uart_diag_kbhit(const struct diag *diag) {
41
	struct uart_diag *uart_diag = (struct uart_diag *) diag;
42

43
	return uart_hasrx(uart_diag->uart);
44
}
45

46
const struct diag_ops uart_diag_ops = {
47
	.init = uart_diag_init,
48
	.putc = uart_diag_putc,
49
	.getc = uart_diag_getc,
50
	.kbhit = uart_diag_kbhit,
51
};
52

53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.