行有行规,**他人也要向他鞠躬敬礼~~~因为他值得你花苦心

[复制链接]
9241|48
 楼主| HotPower 发表于 2007-6-28 21:03 | 显示全部楼层

看来少管教

su_tech 发表于 2007-6-28 21:08 | 显示全部楼层

呵呵,E_T高手,好像就是不太和气

 楼主| HotPower 发表于 2007-6-28 21:11 | 显示全部楼层

高手就画个直接从RX读I2C数据的图来,直接用input读

su_tech 发表于 2007-6-28 21:17 | 显示全部楼层

HOT大侠 消消气 来杯凉茶

conwh 发表于 2007-6-28 21:48 | 显示全部楼层

倒塌了,这2天郁闷,一行代码也没有写出来。

dengm 发表于 2007-6-28 22:34 | 显示全部楼层

用RX读I2C数据, 数据太难同步了, 用汇编使用

pc 的定时器可能能完成, 但副作用太大.
dengm 发表于 2007-6-28 22:41 | 显示全部楼层

用 break 好

 楼主| HotPower 发表于 2007-6-29 03:00 | 显示全部楼层

实际上这是个高难度问题,不像有些人不长脑袋,张口就是简单

邓苗同志说的有道理,难度就是同步问题.
因为RSR232需要起始位来异步同步双方的定时器.
而RX是I2C的SDA信号,不会产生RS232需要的同步信号.

不过我想如果真的不用RX来用input()读数据,那么用output()写TX就意义不大.
不管Break是否好用,真不如直接用DTR或RTS来操作TX.

估计老外是考虑RS232只有3个输出信号,即TX,DTR和RTS.
而SCL和SDA就用去了2个.而窃电控制也需要1个.
总不能老发TX来供电吧.所以就有了楼主位的帖图.

如果实在要用TX/RX来发脉冲和收数据,下图不知如何???

左下方加的那个电压比较器实际的目的是为得到RS232输出后在TTL方的下跳沿.
如果上下沿都要的话,不如直接将TX与CTS进行232电平的短路.

要此比较器的目的是只要协议的下跳,因为I2C在SCL=0时是SDA送数据的时候,
这时对其采样都是不合适和不对的.
加它的目的是在SCL=0时,好通知PC方用RTS送出SDA数据.

如何解决用RX接收数据呢???我感到很难办...

要解决同步问题应该不难,如上图加上个二极管即可,因为它可以将TX的同步信号即TX的起始位强行
地通过SCL拉低SDA再通过U2送给RX,这样就好象TX和RX短接自环一样!!!

这样做后,在SCL=0的时候,SDA的信号虽然为0,但它确实以存在!!!不过被SCL暂时钳位而已.
当SCL上跳的时候,SDA自然会立即出现.

这样做解决了I2C向RX自动发送起始位的问题,但不能解决在停止位还是"0"
的问题.

因为I2C在SCL=1时是不过变动数据SDA的,这样也导致了在RS232端RX的停止位
时,SDA的数据还保持0的问题...

所以现在分析后,就明白了老外为什么不用RX的原因了---因为太难了~~~
准备以后再研究这个问题,我不想放过~~~

故暂时认为这样好些,如下图(短接TD---CTS):
 楼主| HotPower 发表于 2007-6-29 07:09 | 显示全部楼层

实际上上图的程序部分我已在13楼中模拟出来

感觉还是TX上接上CTS等,这样可通过捕捉CTS的跳变来决定I2C的收发状态.

由于发TX一个字节为1个(负)脉冲,在下跳时直接送出需要发送的I2C数据位.
由于RTS是反向的,故I2C数据应该取反后发送.即无数据为"0".或读数前需给RTS发送0.
这样就可在其上跳时读DSR或写RTS了.
dengm 发表于 2007-6-29 07:48 | 显示全部楼层

习惯上用 DTR 供 +电, RTS 供 -电(可参考 com 口 mouse),

TD 发数据 or 脉冲.
程序匠人 发表于 2007-6-29 08:31 | 显示全部楼层

hotpower 最近和VB干上了

zxq1234508 发表于 2007-6-29 10:34 | 显示全部楼层

实在是佩服,学习中

onemillion 发表于 2007-6-29 13:32 | 显示全部楼层

RE

请问楼主,为什么不用USB呢?
testcode 发表于 2007-6-29 13:49 | 显示全部楼层

既然外国有人能做出来,说明难度并不高...

哈哈,外国的黄毛的高手多了,只是楼上没见识过而已。
古道热肠 发表于 2007-6-29 14:07 | 显示全部楼层

老外的共享意识还是比较强的

   放在网上的东西,一般还是信得过的,通常没做手脚。只是那电路器件不好找,我觉得该用三极管搭个I2C读写24XX的电路来作试验,也许会更实在些。
古道热肠 发表于 2007-6-29 14:25 | 显示全部楼层

Re E_T

  学会尊重别人,别人才会尊重你!
pk.kong 发表于 2007-6-29 14:38 | 显示全部楼层

晕,交流技术嘛,ls干嘛这样。

E_T 发表于 2007-6-29 14:46 | 显示全部楼层

我一直都很崇拜他的,不知道他为何说出那样的话来

hq_y 发表于 2007-6-29 14:52 | 显示全部楼层

他说什么呢?你一直在修改你的发言~~~~~~

HQGBOY 发表于 2007-6-29 15:14 | 显示全部楼层

就是.别修改让大家看看...

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部