打印

怪现象,向大侠请教,有详细场景介绍。。。。。

[复制链接]
楼主: XIANSir
手机看帖
扫描二维码
随时随地手机跟帖
21
即使是边沿触发器也是需要建立时间和保持时间的。在每次操作完之后把PIN_IT置高就好了。

使用特权

评论回复
22
caner_hn| | 2011-7-22 10:57 | 只看该作者

采用握手信号,无需中断.
当W78需要写RAM时,把REQ置低,平时REQ为高,并等待ACK为低.
当STC在主循环中检测到REQ为低时,STC放弃RAM总线,同时把ACK置低,平时ACK为高.

使用特权

评论回复
23
caner_hn| | 2011-7-22 11:01 | 只看该作者
你那样做没有ACK信号会出问题:
(1)有可能STC处于其他中断处理中,没时间响应REQ信号,而w78发出REQ信号后强制占用RAM总线,导致RAM总线冲突.
(2)STC读写RAM到一半,结果被REQ中断打断,导致后续读写出错.

使用特权

评论回复
24
yewuyi| | 2011-7-22 11:08 | 只看该作者
14# yewuyi
谢谢指教。

关于第一条建议,我曾经在二者之间加过1秒的延时,没有作用。。。。

关于第二条,其实不执行这一句此时STC10也没其他事情可干。至于说多任务:显示刷新、语音播放、串行数据接收及解析、A ...
XIANSir 发表于 2011-7-22 10:41


1、没事情干,也不能让它死待那等饭吃啊。
2、如果这样就没事情做的话,估计STC这块的任务也不是很重,根本没必要用两个MCU了。
到目前为止没看到有什么很重的任务,所以让STC跑到30M就有点不太好理解了。

使用特权

评论回复
25
joyme| | 2011-7-22 11:10 | 只看该作者
而且,我现在最疑惑的问题其实是:为什么低电平触发的中断可以重复进入,而下降沿触发的中断不可以呢???


建议你试试将PINIT置低后再置高即保持常态为高,再回复结果

使用特权

评论回复
26
johnwjl| | 2011-7-22 11:10 | 只看该作者
下降沿触发,接个上拉电阻看看。

使用特权

评论回复
27
XIANSir|  楼主 | 2011-7-22 11:47 | 只看该作者
24# yewuyi led显示数据实际上是通过四条60级连的595发送的,所以显示芯片的工作量极大,不可能在做其他工作了。即使现在显示芯片使用的是12倍速的STC10系列并且工作于30MHZ,客户还嫌有点闪烁呢。


STC10屏幕刷新中没有任何延时函数!!!!每一屏数据STC10都要进行60*8*4*8条数据移位操作——串转并,,这个工作量是相当大的。。。。。。。。。。

使用特权

评论回复
28
nongfuxu| | 2011-7-22 12:36 | 只看该作者
路过.

鼠标一抖,三分到手;手提酱油,低头猛走。

使用特权

评论回复
29
mohanwei| | 2011-7-22 12:49 | 只看该作者
"四条60级连的595"算什么,别说你是用I/O来模拟时序的……
串口有同步模式,查一下速度能达到多少……

使用特权

评论回复
30
nayaix| | 2011-7-22 12:58 | 只看该作者
围观

使用特权

评论回复
31
XIANSir|  楼主 | 2011-7-22 13:08 | 只看该作者
29# mohanwei
不行,我有四条串转并,51只有一个串口,就算用了这个串口,另外三条还得模拟,没什么意义。。。。。

使用特权

评论回复
32
z_no1| | 2011-7-22 13:22 | 只看该作者
为什么要四个串转并呢?一个串转四个并不可以么?10XE也应该有硬件SPI口吧?实际速度5兆/秒时可以做到的。相当于1兆多/秒的一个串转并。

使用特权

评论回复
33
eydj2008| | 2011-7-22 14:43 | 只看该作者
STC 芯片勘误里面 有没有提到 下降沿外部中断的问题

使用特权

评论回复
34
eydj2008| | 2011-7-22 14:44 | 只看该作者
下降沿触发,接个上拉电阻看看。
johnwjl 发表于 2011-7-22 11:10


对的 你的电平你是不是量过 高 低 各是多少  你的输出方式 是不是开漏了?

使用特权

评论回复
35
eydj2008| | 2011-7-22 14:45 | 只看该作者
上次也我犯了 这个错误 后面想到了这个问题 结果我真是开漏了

使用特权

评论回复
36
zhb_ah| | 2011-7-23 00:26 | 只看该作者
仔细分析下就知道问题了

使用特权

评论回复
37
zhoujunfeng| | 2011-7-25 10:26 | 只看该作者
stc程序这边你手动清除一下中断请求标志位

使用特权

评论回复
38
zhoujunfeng| | 2011-7-25 10:28 | 只看该作者
而且延时等待程序你最好让w78这边来准备好,stc这边不要等。

使用特权

评论回复
39
zhoujunfeng| | 2011-7-25 10:32 | 只看该作者
stc这边进入中断后打一个标志位让主程序去等待。

使用特权

评论回复
40
zhoujunfeng| | 2011-7-25 10:33 | 只看该作者
你光在中断里面等,有可能吧下一个下降沿给等没了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则