embox
43 строки · 895.0 Байт
1/**
2* @file
3* @brief
4*
5* @author Anton Kozlov
6* @date 06.08.2014
7*/
8
9#include <stddef.h>10
11#include <kernel/irq.h>12
13#include <util/macro.h>14
15#include "stm32cube_conf.h"16
17#include <drivers/serial/uart_dev.h>18#include <drivers/ttys.h>19
20#include <framework/mod/options.h>21
22
23extern const struct uart_ops stm32_uart_ops;24extern irq_return_t uart_irq_handler(unsigned int irq_nr, void *data);25
26//#define TTY_NAME ttyS5
27
28#define TTY_NAME OPTION_GET(STRING, ttys_name)29
30static struct uart stm32_ttySx = {31.dev_name = MACRO_STRING(TTY_NAME),32.uart_ops = &stm32_uart_ops,33.irq_num = USARTx_IRQn,34.base_addr = (unsigned long) USARTx,35.params = {36.baud_rate = OPTION_GET(NUMBER,baud_rate),37.uart_param_flags = UART_PARAM_FLAGS_8BIT_WORD | UART_PARAM_FLAGS_USE_IRQ,38}39};40
41TTYS_DEF(TTY_NAME, &stm32_ttySx);42
43STATIC_IRQ_ATTACH(USARTx_IRQn, uart_irq_handler, &stm32_ttySx);44