当前位置 : 主页 > 编程语言 > 其它开发 >

UART串口及Linux实现

来源:互联网 收集:自由互联 发布时间:2022-05-14
UART,全称Universal Asynchronous Receiver Transmitter,通用异步收发器,俗称串口。作为最常用的通信接口之一,从8位单片机到64位SoC,一般都会提供UART接口。 U A R T , 全 称 U n i v e r s a l A s
UART,全称Universal Asynchronous Receiver Transmitter,通用异步收发器,俗称串口。作为最常用的通信接口之一,从8位单片机到64位SoC,一般都会提供UART接口。

UARTUniversal Asynchronous Receiver Transmitter864SoCUART

 

UART

UARTFIFO


  • 5/6/7/8

  • 1/1.5/2


  • FIFO

 

UART




TXD

RXD

CTSN
UARTUARTUART
RTSN
CTSN

 

1 UART

 

2 UART

 

UART

UART

 

3 UART

 

线1

0

5678LSB

使1()()

1/1.5/2Linux1.5

UARTUART9600115200460800

 

LinuxUART

Linux UARTUART/dev/ttyS*备(ttySUARTLinuxttyserial coreserial corettytty driveruart

  • struct uart_driverstruct uart_portstruct uart_opsuart

  •  uart_register_driveruart_add_one_port 

 

4 UART

 

struct uart_opsUART

 

UARTuart_ops


tx_empty
TX FIFO10
stop_tx

start_tx

stop_rx

startup
UART
shutdown
UART
set_termios
UART

 

struct uart_driverUARTstruct uart_portUARTstruct uart_ops

 

UART

UARTplatform_driver

 

uart_opsuart_opsuart_port

 

UARTprobeuart_portserial core

 

Linux

Linuxminicom, cutecom

/dev/ttyS0

stty -F /dev/ttyS0

stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb

115200 8 1 


cat /dev/ttyS0

echo "test data" > /dev/ttyS0

 

//open/read/writeLinuxAPI

struct termios options;//tcgetattr(fd, &options);//cfsetispeed(&options, B115200);cfsetospeed(&options, B115200);//8options.c_cflag &= ~CSIZE;options.c_cflag |= CS8;//options.c_cflag &= ~PARENB;//1options.c_cflag &= ~CSTOPB;//tcsetattr(fd, TCANOW, &options);

 

UART

UARTttyttyUARTUART

UARTUARTinputinputUARTUARTUARTttyserial coreUART

线I2CI2C线i2c_driveri2c_transferI2CSPIspi_driverSPII2C/SPI便

UART4.14seriottyttyttyUART

serio线UARTSerial IOseriostruct serio_busserio线struct serioseriostruct serio_drvierserio

drivers/input/serio/*drivers/input/touchscreen/touchit213.c

4.14serail dev bus

serdev_device_driver_register(struct serdev_device_driver *, struct module *);

使

drivers/bluetooth/hci_bcm.c

 ------ END ------

网友评论