专题14-串口驱动程序设计

第1课-tty驱动架构

  1. TTY概念解析

在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。

l  串口终端(/dev/ttyS*)

串口终端是使用计算机串口连接的终端设备。Linux

把每个串行端口都看作是一个字符设备。这些串行

端口所对应的设备名称是/dev/ttySAC0;

/dev/ttySAC1……

l  控制台终端(/dev/console)

在Linux系统中,计算机的输出设备通常被称为控制台终端(Console),这里特指printk信息输出到的设备。/dev/console是一个虚拟的设备,它需要映射到真/dev/console是一个虚拟的设备,它需要映射到真正的tty上,比如通过内核启动参数” console=ttySAC0”就把console映射到了串口0

l  虚拟终端(/dev/tty*)

当用户登录时,使用的是虚拟终端。使用Ctcl+Alt+[F1—F6]组合键时,我们就可以切换到tty1、tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名.

(1)/dev/tty/SAC0

(2)/dev/tty/1-n

(3)/dev/console

  1. TTY架构分析

Linux tty子系统包含:tty核心,tty线路规程和tty驱动。tty核心是对整个tty设备的抽象,对用户提供统一的接口,tty线路规程是对传输数据的格式化,tty驱动则是面向tty设备的硬件驱动。

第2课-串口驱动分析-初始化

  1. 串口驱动程序结构
  1. 串口驱动中国数据结构

UART驱动程序结构:struct uart_driver

UART端口结构: struct uart_port

UART相关操作函数结构: struct uart_ops

UART状态结构: struct uart_state

UART状态结构: struct uart_state

UART信息结构: struct uart_info

  1. 初始化分析

第3课-串口驱动分析-打开设备

第4课-串口驱动分析-数据发送

第5课-串口驱动分析-数据接收

第6课-串口驱动编程实现

转载于:https://www.cnblogs.com/free-1122/p/11452266.html

第四季-专题14-串口驱动程序设计相关推荐

  1. 串口驱动程序设计详解---串口打开、发送、接收(下)

    上一篇博客分析了串口驱动初始化部分,下面逐步分析串口驱动中的打开串口,数据发送和接收! 初始化主要工作流程: 先来分析串口打开操作流程,还是先上图: 这里分析还是离不开上篇博客中的两张重要的图: 串口 ...

  2. linux 串口驱动 理解,linux 串口驱动 理解

    linux 串口 驱动 理解 一.核心数据结构 串口驱动有3个核心数据结构,它们都定义在 1.uart_driver uart_driver包含了串口设备名.串口驱动名.主次设备号.串口控制台(可选) ...

  3. linux驱动向不同串口发数据,Linux串口(serial、uart)驱动程序设计

    一.核心数据结构 串口驱动有3个核心数据结构,它们都定义在 1.uart_driver uart_driver包含了串口设备名.串口驱动名.主次设备号.串口控制台(可选)等信息,还封装了tty_dri ...

  4. linux内核串口接入pps,Linux串口(serial、uart)驱动程序设计

    一.核心数据结构 串口驱动有3个核心数据结构,它们都定义在 1.uart_driver uart_driver包含了串口设备名.串口驱动名.主次设备号.串口控制台(可选)等信息,还封装了tty_dri ...

  5. Linux驱动开发14 串口/485/232/GPS

    这一章单纯是因为原子的板子上485/232/GPS走的是板子上的串口通道.(自学的正点原子板子) 且串口驱动部分NXP已经写好了,我们要做的就是修改,配置设备树,使能我们要使用的串口          ...

  6. Linux下的C编程实战(开发平台搭建,文件系统编程,进程控制与进程通信编程,“线程”控制与“线程”通信编程,驱动程序设计,专家问答)

    Linux下的C编程实战(一) ――开发平台搭建 1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性.而近年来,Linux ...

  7. WinCE中串口驱动及接口函数介绍(转载)

    作者:ARM-WinCE 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分为MDD层和PDD层.MDD层对上层的Device Manager提供了标准的流设备驱动接口( ...

  8. linux串口驱动分析

    linux串口驱动分析 硬件资源及描写叙述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)port,每一个port都能够在中断模式或 DMA 模式下操作 ...

  9. linux串口驱动分析【转】

    转自:http://blog.csdn.net/hanmengaidudu/article/details/11946591 硬件资源及描述 s3c2440A 通用异步接收器和发送器(UART)提供了 ...

  10. WINCE6.0+S3C6410串口驱动

    ********************************LoongEmbedded************************作者:LoongEmbedded(kandi)时间:2011. ...

最新文章

  1. 全球富豪大洗牌!马斯克登顶世界首富,黄铮国内第三超马云
  2. 树莓派 ubuntu 安装Python+OpenCV
  3. python中遍历字典判断是否存在_python中如何判断值在不在字典中
  4. linux如何实现相关功能源代码
  5. css --- 应用媒介查询制作响应式导航栏
  6. python哪个版本支持xp_windows支持哪个版本的python
  7. LA 3523 圆桌骑士
  8. ZZULIOJ 1119: 一维数组排序
  9. 机器学习课程笔记【十一】- 因子分析
  10. 计算机软件系统验收标准,软件相关标准目录.xlsx
  11. java毕业设计springboot框架 java在线视频点播系统毕业设计开题报告功能参考
  12. 蛙人高频交易拆单策略—蛙人高频软件结构及使用说明
  13. MFC进修笔记2——MFC和Win32
  14. 模拟web访问有登录且有验证码的登录后抓取数据
  15. 2022-2028全球激光全息膜行业调研及趋势分析报告
  16. 启明创投祝贺小米于2018年7月9日在香港证券交易所成功上市
  17. ASEMI整流桥GBU1010的检测
  18. hdu4899 Hero meet devil
  19. php开发之cms开发体验
  20. 「实验记录」MIT 6.S081 Lab7 multithreading

热门文章

  1. 5双机配置_SBC双机热备解决方案
  2. Flink on K8s 在京东的持续优化实践
  3. python基础篇 —— 类
  4. 电脑仙人掌机器人作文_暑假有空来练笔——2019各地小学期末作文题目集锦
  5. python 安装了不能用_解决Python安装后pip不能用的问题
  6. android点击改变字体颜色,Android Textview 动态 部分文字点击 改变颜色
  7. 属于db模式缺点的是什么_DB与ES混合之应用系统场景分析探讨
  8. MySQL通过SQL语句生成实体类_使用sql生成表对应的CRUD语句和表对应java实体类的实例变量...
  9. 简明firewalld不断的更新中....
  10. 修改Linux文件的读写权限