关于上升沿读数据的问题

[复制链接]
3161|14
 楼主| zzjb 发表于 2010-7-6 07:49 | 显示全部楼层 |阅读模式
请问上升沿读数据,是要先从端口读了 在拉clk,还是先拉了clk再读端口数据?
下降沿写数据是拉低了时钟在写,是吗
A:
CLK = 0
nop();
data = DO;
clk = 1;

B :
CLK = 0;
nop()
CLK = 1;
data = DO;
应该是用A还是用B?
谢谢了!
msb 发表于 2010-7-6 10:00 | 显示全部楼层
读数据时,要在CLK沿变化之后读。如果是上升沿读数据,应在CLK拉高后再读。
写数据时,要在CLK沿变化之前写。
如果外设速度慢,MCU速度很快,还要在CLK和读写之间加适当的延时。
zc3909 发表于 2010-7-6 10:22 | 显示全部楼层
看数据手册的时序图,特别注意有的地方需要延时
 楼主| zzjb 发表于 2010-7-6 15:36 | 显示全部楼层
 楼主| zzjb 发表于 2010-7-6 15:38 | 显示全部楼层
读数据时,要在CLK沿变化之后读。如果是上升沿读数据,应在CLK拉高后再读。写数据时,要在CLK沿变化之前写。如果外设速度慢,MCU速度很快,还要在CLK和读写之间加适当的延时。 ...msb 发表于 2010-7-6 10:00
那下降沿写数据 要写了之后在拉低clk吗,好像一直是拉底clk再写然后再延时的
yuyetufu 发表于 2010-7-6 18:54 | 显示全部楼层
一般来说 下降沿写,在下降沿之前就把数据放好,下降沿一出现,就要写入了,你要是来了下降沿在放数据,对方可能已经有收数据的动作了,要来不及的。
具体怎样,以数据手册为主
chunyang 发表于 2010-7-6 18:57 | 显示全部楼层
沿是用来锁存的,所以数据输入必须在沿之前,不论其方向是什么。读,当然要在锁存之后才能进行。
小李志 发表于 2010-7-6 20:00 | 显示全部楼层
正是因为7楼所说的,才有对建立时间和保持时间的要求 7# chunyang
 楼主| zzjb 发表于 2010-7-6 21:45 | 显示全部楼层
8# 小李志

七楼所说的,与建立时间和保持时间有什么联系呢,请指教,谢谢!
 楼主| zzjb 发表于 2010-7-6 21:51 | 显示全部楼层
8# 小李志

比如这个时序图中的建立时间和保持时间是在上升沿附近,但是数据是在下降沿改变的,这个有什么联系呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
yuyetufu 发表于 2010-7-7 20:51 | 显示全部楼层
楼上这图可以理解成在下降沿后改变数据,上升沿后锁定,读数据。
andy2003hu 发表于 2010-7-8 07:49 | 显示全部楼层
 楼主| zzjb 发表于 2010-7-9 19:02 | 显示全部楼层
顶起来让更多的高手看看
chenyongsheng 发表于 2010-7-9 19:15 | 显示全部楼层
不太懂,也来帮你顶顶,求高手帮忙,谢谢。。。。。
lirunze 发表于 2010-7-11 19:07 | 显示全部楼层
有时序图,这肯定好办多了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

13

帖子

1

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