![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【UART】
玛丽奥ZJY
这个作者很懒,什么都没留下…
展开
-
将S3C2416的RS232改为RS485(修改内核驱动)
基本知识: ARM一般会使用电平转换芯片把串口TTL电平转换成相应的232或485电平信号。与232稍有不同的是,一般的485是半双工的,意思就是说同一时刻要么处于接收状态要么处于发送状态。485芯片有许多种,但基本大同小异,一般有2个引脚给用户来控制收发状态。当RE为低电平时,485芯片数据输入有效(低电平接收状态);当DE为高电平时,485芯片数据输出有效(高电平发送状转载 2017-11-30 17:36:18 · 799 阅读 · 0 评论 -
UART协议详解
UART使用的是 异步,串行通信。 串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。 异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。 数据传送速率用波特率来表示,即每秒钟传送的二进制位数。例如数据传送...转载 2018-04-02 15:09:25 · 111971 阅读 · 13 评论 -
Linux串口驱动(8250)的编写与调试
串口控制器都是大同小异,用3条地址线就可以完全对串口控制器进行控制。针对ST554芯片来说,控制寄存器主要有THR(发送保持寄存器),RHR(接收保持寄存器),IER(中断使能寄存器),FCR(缓冲控制寄存器),LCR(控制寄存器),LSR(状态寄存器),MCR(模式控制寄存器),MSR(模式状态寄存器),DLL,DLM和测试寄存器等。代码演示为linux-2.6.18。一般情况下,我们只转载 2017-12-01 14:03:06 · 2181 阅读 · 0 评论 -
gpio_direction_output vs gpio_set_value之间的使用关系
在linux驱动中常常会碰到gpio_set_value(port_num,0/1)或gpio_direction_output (port_num,0/1) 这两者有什么关系呢gpio_set_value(port_num,0/1) 一般只是在这个GPIO口的寄存器上写上某个值,至于这个端口是否设置为输出,它就管不了!而gpio_direction_output (po转载 2017-12-01 16:53:41 · 250 阅读 · 0 评论 -
u-boot串口和stdio、console初始化及相关操作详解<三>
console是构建在stdio之上的,console的初始化是board_r中最后收尾的操作。console的初始化函数console_init_r在common/console.c中实现:[cpp] view plain copyint console_init_r(void) { char *stdinname, *st转载 2017-12-09 11:36:51 · 868 阅读 · 0 评论 -
u-boot串口和stdio、console初始化及相关操作详解<二>
二.board_r阶段串口操作和stdio初始化该阶段包括3个函数:stdio_init_tables、 initr_serial、stdio_add_devices。下面逐一对其进行详细说明。1. stdio_init_tables[cpp] view plain copyint stdio_init_tables(void)转载 2017-12-09 11:28:55 · 569 阅读 · 0 评论 -
u-boot串口和stdio、console初始化及相关操作详解<一>
当u-boot的启动执行到_main函数处,将在_main函数中执行板级的前初始化和后初始化操作,即函数board_init_f和board_init_r。串口的初始化以及相关stdio、console操作穿插在这两个函数的执行过程中。下面将分别详细讨论这两阶段中涉及的串口及stdio、console设备操作。这里所使用的u-boot版本为2015.7,硬件为I.MX6 boundar转载 2017-12-09 10:47:51 · 475 阅读 · 0 评论 -
修改2410的linux串口驱动,使其支持RS485
原文地址:修改2410的linux串口驱动,使其支持RS485 作者:daijianfu 修改2410的linux串口驱动,使其支持RS485 2410自带有三个串口,但mizi linux中自带的驱动均为RS232的,因为485是半双工的,比232多了一个方向控制信号,所以linux的自带驱动并不适合485,需要进行一定的修改,步骤如下。1转载 2017-11-30 17:38:12 · 1123 阅读 · 0 评论 -
linux设备驱动之8250串口驱动
一:前言 前一段时间自己实践了一下8250芯片串口驱动的编写。今天就在此基础上分析一下linux kernel自带的串口驱动。毕竟只有对比专业的驱动代码才能更好的进步,同以往一样,基于linix kernel2.6.25.相应驱动代码位于:linux-2.6.25/drivers/serial/8250.c。 二:8250串口驱动初始化 相应的初始化函数为serial8250_init转载 2017-11-30 17:37:08 · 6413 阅读 · 1 评论 -
串口驱动及架构
一、重点概述:在Linux中,TTY(终端)是一类字符设备的统称,包括了3种类型:控制台,串口和伪终端。1)控制台:供内核使用的终端为控制台。控制台在Linux启动时,通过命令console=…指定,如果没有指定控制台,系统把第一个注册的终端(tty)作为控制台。 如printk打印到哪里哪里就是控制台,如lcd屏幕,终端软件的那个等1. 控制台是一个虚拟的终端,它必须映射到真正的终端上...转载 2018-07-30 13:33:28 · 2346 阅读 · 0 评论