版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_37600027/article/details/84112608
static const struct tty_operations uart_ops = {
.open = uart_open,
.close = uart_close,
.write = uart_write,
.put_char = uart_put_char,//单字符写入函数
.flush_chars = uart_flush_chars,
.write_room = uart_write_room,//用来检测缓冲区的剩余空间
.chars_in_buffer= uart_chars_in_buffer,//检测包含数据缓冲区的数量
.flush_buffer = uart_flush_buffer,//刷新缓冲区并丢弃其中的数据
.ioctl = uart_ioctl,
.throttle = uart_throttle,
.unthrottle = uart_unthrottle,
.send_xchar = uart_send_xchar,
.set_termios = uart_set_termios,//设置termios,当设备的termios发生变化时函数被调用
.set_ldisc = uart_set_ldisc,//设置线路规程的函数
.stop = uart_stop,
.start = uart_start,
.hangup = uart_hangup,//挂起函数
.break_ctl = uart_break_ctl,
.wait_until_sent= uart_wait_until_sent,//用来向硬件发送数据
#ifdef CONFIG_PROC_FS
.proc_fops = &uart_proc_fops,//proc操作函数
#endif
.tiocmget = uart_tiocmget,//获取特定tty设备当前的线路设置
.tiocmset = uart_tiocmset,//设置特定tty设备当前的线路
.get_icount = uart_get_icount,
#ifdef CONFIG_CONSOLE_POLL
.poll_init = uart_poll_init,
.poll_get_char = uart_poll_get_char,
.poll_put_char = uart_poll_put_char,
#endif
};