![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
串口
文章平均质量分 81
xp_super
这个作者很懒,什么都没留下…
展开
-
串口驱动(一)
串行通信可以分为两种类型:同步通信、异步通信。 1.异步通信的特点及信息帧格式: 以起止式异步协议为例,下图显示的是起止式一帧数据的格式:起止式异步通信的特点是:一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起转载 2012-09-21 18:15:15 · 563 阅读 · 0 评论 -
基于ARM的智能来电显示器的设计[图]
摘要:介绍基于ARM 的来电号码显示器的实现方法。利用CID 芯片HT9032C 来解调FSK 码,同时可实现液晶显示、E2PROM存储和语音播报电话主叫号码等功能,以SPI 串行接口智能显示键盘控制芯片ZLG7289A 为核心设计的键盘电路可实现查阅、删除信息。文章详细介绍了系统的硬件电路设计和软件流程。实践表明,显示器外围器件少,抗干扰能力强,使用方便。0 引言目前我国电话网交换机转载 2012-11-22 01:52:43 · 606 阅读 · 0 评论 -
Linux 串口编程
在linux下编写终端程序时,有规范模式 ,非规范模式(原始模式特殊的非规范模式)之分。不用于终端,而是在串口这种使用情况下,一般设置为原始模式(非规范的一种特殊情况)。但用read()函数,希望从串口接收指定的数量的字符时,往往接收到的实际字符数,都与指定的不同。如本人用read()希望接收 10 bytes的数据,但实验后发现,分了几次才接收到,俩次接收2bytes ,两次接收3bytes转载 2012-11-14 22:45:21 · 649 阅读 · 0 评论 -
Linux串口—struct termios结构体
一、数据成员 termios 函数族提供了一个常规的终端接口,用于控制非同步通信端口。 这个结 构包含了至少下列成员: tcflag_t c_iflag; /* 输入模式 */ tcflag_t c_oflag;转载 2012-11-13 15:54:37 · 535 阅读 · 0 评论 -
串口驱动之初始化 (一)
(只分析串口驱动,和console相关的部分暂时省去) 内核串口部分需要用到tty部分,tty包含了tty内核和tty线路规程。这些是在串口代码之前初始化。 1.tty_ldisc线路规程的初始化只要是函数driver/tty/tty_io.c console_init() void __init console_init(void){转载 2012-10-19 22:44:18 · 1830 阅读 · 0 评论 -
串口的open操作(tty_open)
根据前面的操作,串口作为字符驱动也已经注册到系统了,/dev目录下也有设备文件节点了。那接下来uart的操作是如何进行的呢?操作硬件之前都是要先open设备,先来分析下这里的open函数具体做了那些工作(做了大量工作 ,真的!)。应用层通过open系统调用open(“/dev/s3c2410_serial0”,)一层一层调用到会调用到tty_open。因为串口在linux下是作为t转载 2012-10-20 10:20:45 · 1076 阅读 · 0 评论 -
uart驱动与tty驱动
一:前言接着前面的终端控制台分析,接下来分析serial的驱动.在linux中,serial也对应着终端,通常被称为串口终端.在shell上,我们看到的/dev/ttyS*就是串口终端所对应的设备节点.在分析具体的serial驱动之前.有必要先分析uart驱动架构.uart是Universal Asynchronous Receiver and Transmitter的缩写.翻译成中文转载 2012-09-23 22:20:31 · 1059 阅读 · 0 评论 -
串口驱动(四)--中断模式实现禁用fifo串口通信浅析
::硬件平台--s3c44b0x 一.驱动程序的初始化(在使用uart之前,必须保证已经对其定义和注册)int uart_init(void){printk("registering uart device...");result = register_chrdev(254,"uart_dev",&uart_fops);if(resultprintk("can not原创 2012-09-21 23:18:07 · 1414 阅读 · 0 评论 -
串口驱动(三)
一、终端概述:tty设备设备是指一类字符设备的统称,包括控制台、串口、伪终端。为终端:双向管道控制台:只输出的设备,必须与实际的设备联系二、终端体系 三、数据流:四、串口驱动函数调用流程五、串口驱动程序的原理:1.发送:循环buffer->发送fifo2.接收:接收fifo->filp_buffer产生中断的条件:当发送fifo中的数据低于原创 2012-09-21 16:40:17 · 472 阅读 · 0 评论 -
串口驱动(二)
在没有引入UART之前,由于没有OS,我们写程序烧到开发板内执行后,并不能在程序的运行过程中打印一些提示信息告诉我们程序究竟运行了如何或者提供接口让用户去控制程序的运行路径,最后也只能通过物理现象去判断程序是否执行成功。 使用串口我们便可以实现开发板最基本的数据的发送和接收,实现同开发板的交互,控制程序的运行,并且在程序运行中打印出一些信息进行debug。实际上bootloader转载 2012-09-21 18:16:19 · 563 阅读 · 0 评论 -
gprs驱动程序设计实例
一、核心数据结构串口驱动有3个核心数据结构,它们都定义在1、uart_driveruart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无需关心tty_driver)。 struct uart_driver { struct module *owner; /* 拥有该uart转载 2012-09-24 19:08:15 · 3231 阅读 · 0 评论