
IIC、SPI 与 TTY子系统
记录下 i2c子系统;spi子系统;tty子系统 在开发与学习过程中的大小事。
Aitel@
三尺微命,一介书生。
展开
-
关于i2c_msg的一点注意事项
首先对于i2c_msg的说明:一个i2c_msg结构变量,代表着一次单方向的完整传输。 正确理解上面这句话的意思,就能正确使用linux中使用i2c_msg对于i2c的读写操作。 来看一下i2c_msg的定义(位于:linux-3.10\include\uapi\linux):/** * struct i2c_msg - an I2C transaction segment beginning with START * @addr: Slave address, ...原创 2022-01-18 10:42:40 · 2540 阅读 · 0 评论 -
I2C中关于ACK和NACK的几点东西
I2C的数据格式无数据(空闲):SCL=1,SDA=1; 开始位(Start):当SCL=1时,SDA由1向0跳变; 停止位(Stop):当SCL=1时,SDA由0向1跳变; 数据位:当SCL由0向1跳变时,由发送方控制SDA,此时SDA为有效数据,不可随意改变SDA;当SCL保持为0时,SDA上的数据可随意改变; 地址位:定义同数据位,但只由Master发给Slave; 应答位(ACK):当发送方传送完8位时,发送方释放SDA,由接收方控制SDA,且SDA=0; 否应答位(NACK):当发转载 2022-01-18 10:02:48 · 3768 阅读 · 0 评论 -
i2c驱动中关于i2c_msg的标志位说明
I2C_M_IGNORE_NAK:设置这个标志意味当前i2c_msg忽略I2C器件的ack和nack信号。I2C_M_NOSTART:设置这个标志意味当前i2c_msg不发送start信号。如果一个i2c_msg没有定义I2C_M_NOSTART而且又不是msgs序列里的第一个 i2c_msg,则回发送重复start信号,我想这就是这个标志起这个名的原因。我们可以猜想,1.msgs序列第一个数据必须是地址,同时必须不定义这个标志位2.在进行读数据,要从写操作转变为读操作时,会发重复star转载 2022-01-15 17:07:57 · 548 阅读 · 0 评论 -
解析linux中模拟IIC的iic-gpio.c实现代码
/* * Bitbanging I2C bus driver using the GPIO API * * Copyright (C) 2007 Atmel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by t.原创 2022-01-15 16:52:52 · 1059 阅读 · 0 评论 -
解析linux中使用gpio口模拟IIC的实现代码
/* ------------------------------------------------------------------------- * i2c-algo-bit.c i2c driver algorithms for bit-shift adapters * ------------------------------------------------------------------------- * Copyright (C) 1995-2000 Simon G. .原创 2022-01-15 16:44:34 · 817 阅读 · 0 评论 -
关于I 2 C、SPI、USB驱动架构的对比
原创 2022-01-15 14:50:46 · 586 阅读 · 0 评论 -
SPI的4种采样模式
极性 和 相位 的两两组合,构成了SPI的4种工作模式。极性一般表示为CPOL(Clock POLarity),相位一般表示为CPHA(Clock PHAse)。 CPOL(极性) CPHA(相位) MODE0 0 0 MODE1 0 1 MODE2 1 0 MODE3 1 1 CPOL: SPI空闲时的时钟信号电平(1:高电平, 0:低电平)CPH...原创 2021-12-29 08:18:11 · 5398 阅读 · 0 评论 -
关于 UART 和 USART 的区别
UART(universal asynchronous receiver and transmitter)通用异步收发器,信号包含 TX , RX USART(universal synchronous asynchronous receiver and transmitter)通用同步异步收发器 ,信号包含 TX, RX, CK 区别:USART 同时支持同步模式/异步模式,支持同步模式时 需要同步时钟信USART_CK。 UART 只支持异步模式。 相同:在US......原创 2021-12-17 16:03:10 · 2082 阅读 · 1 评论 -
各串口设备节点/dev/tty* 的区别
主要是:/dev/tty、/dev/ttyn、/dev/ttySn、/dev/ttyUSB*区别。1、/dev/tty 当前控制终端Terminal2、/dev/ttyn 和 /dev/console (虚拟)控制台终端3、/dev/ttySn(一般为/dev/ttyS0) 串行端口终端,接串口线使用的端口设备4、/dev...原创 2021-09-07 10:09:41 · 2277 阅读 · 0 评论 -
终端和控制台的区别
今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时间来解释一下这两个术语的区别。 终端,英文叫做terminal ,通常简称为term ,比如我们在X下的xterm. 控制台,英文叫做console。 要明白这两者的关系,还得从以前的多人使用的计算机开始。 大家都知道,最初的计算机由于价格昂贵,因此,一台计算机一般是由多个人同时使用的。在这种情况下一台计算机需要连接上许多套键盘和显示器来供多个人 使用。在以前专门有这种可以连上一台电脑的设备,只有显示器和键盘,还有简转载 2021-08-23 11:04:11 · 2507 阅读 · 3 评论