- 博客(14)
- 资源 (36)
- 收藏
- 关注
转载 I2C总线知识
I2C 信号的上升时间和下降时间一般要求都小于I2C的时钟可能被从设备拉低,从示波器看好像主少发了时钟,实际是从设备拉低,这时候主设备最好检查时钟信号变高后,再发时钟信号脉冲!(问题:主发第九个时钟未检查总线,此时从设备把SCL拉低《此时从设备正在做相应数据处理,所以拉低总线》,导致ACK应答失败,从示波器看好像少发了第九时钟;方法发第九个时钟的时候检查SCL电平,发现它变高后,才发第九个
2015-01-09 14:33:59 640
转载 I2C死锁原因及解决方法
死锁总线表现为:SCL为高,SDA一直为低 现象:单片机采用硬件i2c读取E2PROM,当单片机复位时,会有概率出现再无法与E2PROM通信,此时SCL为高,SDA一直为低原因:当单片机正在和E2PROM通信,如果主正好发生打算发第9个时钟,此时SCL为高,而从开始拉低SDA为低做准备(作为ACK信号),等待主SCL变低后,从再释放SDA为高。如果此时正好单片机复位,主SC
2015-01-09 14:33:03 2136
转载 i2c的时钟延展问题
结论: (即在模拟i2c主:在主设置SCL为高后,要超时判断SCL是否为高,再发后面的时序) 现象(如下图):由于在发送读命令之后,即ACk之后,下面从设备需要准备数据时间,(大约10us,一个时钟的时间),此时还在I2C中断中,因此SCLK上是被拉低。由于主设备,并未检查该SCLK信号,导致下一个数据的第一个时钟信号被拉低,而不知道,而当做有效信号采样,结果导致数据采用出
2015-01-09 13:44:26 2437
转载 关于中断处理程序中的关中断函数disable_irq和disable_irq_nosync
2010年7月20日19:18:30 关于中断处理程序中的关中断函数disable_irq和disable_irq_nosync disable_irq关闭中断并等待中断处理完后返回, 而disable_irq_nosync立即返回. 那么在中断处理程序中应该使用哪一个函数来关闭中断呢?在中的按键驱动中, 使用disable_irq来关闭中断, 但是我在测试时进入中断后系统
2015-01-08 15:34:46 553
转载 local_irq_disable
local_irq_disable仅仅是设置当前CPU的中断屏蔽位disable_irq 是禁用全部cpu中断(只是当前irq)如果你要禁止所有的中断该怎么办? 在2.6内核中,可以通过下面两个函数中的其中任何一个关闭当前处理器上的所有中断处理,这两个函数定义在 中:void local_irq_save(unsigned long flags);void lo
2015-01-08 15:34:05 618
转载 Linux I2C子系统分析之(一) ----- 用GPIO模拟I2C总线
在drivers/i2c/busses下包含各种I2C总线驱动,如S3C2440的I2C总线驱动i2c-s3c2410.c,使用GPIO模拟I2C总线的驱动i2c-gpio.c,这里只分析i2c-gpio.c。i2c-gpio.c它是gpio模拟I2C总线的驱动,总线也是个设备,在这里将总线当作平台设备处理,那驱动当然是平台设备驱动,看它的驱动注册和注销函数。[html]
2015-01-08 11:16:52 661
转载 Linux I2C子系统分析-I2C设备驱动
接下来以一个实际的例子来看I2C设备驱动,就以drivers/i2c/i2c-dev.c为例。先看它的初始化和注销函数[cpp] view plaincopystatic int __init i2c_dev_init(void) { int res; printk(KERN_INFO "i2c /d
2015-01-08 11:13:04 413
转载 GPIO模拟I2C
原来新的kernel中已经提供了一种通过两个gpio口调用i2c-core的机制,而且还能在这两个gpio口挂载多个设备,用起来就像真的i2c总线一样。所以以后我们都应该用kernel中的这种机制!毕竟自己写的模拟代码不是很可靠的,而且不方便挂载多个设备(当然,你可以通过复杂的逻辑和方法去实现,但是这不值得,除非你是本着学习的目的)不过这个自己写的gpio模拟i2c的代码通过对gpio的不
2015-01-08 11:10:09 610
转载 使用GPIO模拟I2C总线进行通信
I2C总线的通信过程(见图4-8)主要包含三个主要阶段:起始阶段、数据传输阶段和终止阶段。1. 起始阶段在I2C总线不工作的情况下,SDA(数据线)和SCL(时钟线)上的信号均为高电平。如果此时主机需要发起新的通信请求,那么需要首先通过SDA和SCL发出起始标志。当SCL为高电平时,SDA电平从高变低,这一变化表示完成了通信的起始条件。在起始条件和数据通信之间,通常
2015-01-07 16:56:48 586
转载 Linux I2C子系统分析-I2C总线驱动
在drivers/i2c/busses下包含各种I2C总线驱动,如S3C2440的I2C总线驱动i2c-s3c2410.c,使用GPIO模拟I2C总线的驱动i2c-gpio.c,这里只分析i2c-gpio.c。i2c-gpio.c它是gpio模拟I2C总线的驱动,总线也是个设备,在这里将总线当作平台设备处理,那驱动当然是平台设备驱动,看它的驱动注册和注销函数。[cp
2015-01-07 11:48:36 578
转载 Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版下载地址:http://qt.nokia.com/downloads-cn 最新是 4.7.4 版还有一个mingw 4.4.5 静态编译版,用来解决mingwm10.dll、 libgcc_s_dw2-1.dll,两个DLL依赖的问题
2015-01-06 22:28:30 778
转载 windows下 Qt 静态编译
似乎一直没有静态编译Qt的需求:一不在没有管理员权限的机器上使用,二不制作绿色软件,三...。动态编译工作得很好,再配合 nsis 制作一个安装包,有什么必要静态编译呢?但论坛中似乎总是不停有人问到静态编译的问题,似乎遇到问题的人挺多,用百度或google搜索"Qt静态编译"也能搜到相当多的内容。正好利用周末时间,自己尝试编译一下,顺便整理一下,看看到底会发生什么(尽管以后还是用动
2015-01-06 22:18:26 667
转载 Qt 程序在 windows 下的发布
这个问题,其实 Qt 的 manual 中解释的已经比较清楚了。下面是我根据自己的理解和实验后写的东西,希望比Qt文档容易理解一点。另外:你可能对 Qt 插件学习(一) 感兴趣。如果需要制作安装程序,请访问 NSIS学习笔记(以Qt4程序打包为例)下面不涉及静态编译(静态编译可以看看这儿),只包含动态编译(也就是Qt默认的情况),主要又分 mingw 和 msvc 两种情况:M
2015-01-06 22:14:08 672
转载 CodeBlocks+Qt(MinGW)配置 QT4.8.x MinGW 问题解决
1.安装CodeBlocks官网:http://www.codeblocks.org/下载地址:http://www.codeblocks.org/downloads/26有以下两种选择codeblocks-12.11-setup.execodeblocks-12.11mingw-setup.exe下载codeblocks-12.11-setup.e
2015-01-06 21:22:00 1082
Sigcomm2015-2019.rar
2020-05-28
Python绝技:运用Python成为顶级黑客
2017-09-22
Python黑帽子 黑客与渗透测试编程之道 英文版
2017-09-22
Python黑帽子 黑客与渗透测试编程之道
2017-09-22
MyICQ 类QQ
2011-05-04
Convex Optimization in Signal Processing and Communications
2011-05-04
Device Tree v2.20
2011-04-06
Visual C++ DirectX9 3D游戏开发导引源代码19
2010-05-26
Visual+C+++DirectX9+3D游戏开发导引+源代码.part145678
2010-05-26
Visual C++ DirectX9 3D游戏开发导引源代码45678
2010-05-26
Visual C++ DirectX9 3D游戏开发导引源代码1
2010-05-26
深入理解 Linux 内核Understanding.the.Linux.Kernel.3rd.Edition
2009-09-26
Linux 设备驱动程序elecfans.com-linux driver2.6
2009-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人