首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

那位大侠指点一下(读取数据问题)!

chip_select and not read应该改为
chip_select and read吧!
对待真正的朋友,就是给他最大的自由!
可能不是这个问题吧,我是选的低电平有效啊
欢迎交流、学习!

那位大侠指点一下(读取数据问题)!

添加了个简单的自定义逻辑,在这个逻辑中,有个输出数据端口(dataout(15 downto 0).地址端口(address(1 downto 0)),其它略。 有如下语句: if ((chip_select and not read)='1') and (address="00") then dataout<="0000000000000100"; end if ; if ((chip_select and not read )='1') and (address="01")then dataout<="0000000000000001"; end if ; if ((chip_select and not read)='1') and (address="10") then dataout<="0000000000000010"; end if ; if ((chip_select and not read)='1') and (address="11") then dataout<="0000000010000000"; end if ; 在c程序中读: ptr=(int *)na_my_test; // 自定义逻辑地址,在excalibur.h 中#define na_my_test ((void *) 0x2400) c=*(ptr+0x0000); printf("char0 %x\n",c); c=*(ptr+0x0001); printf("char1 %x\n",c); a=*(ptr+0x0002); printf("char2 %x\n",a); b=*(ptr+0x0003); printf("char3 %x\n",b); 输出结果与判断的地址不对应,就像下边这样: char0 8 char1 4 char2 1 char3 2 选的是16位cpu。高不清楚怎么回事,也是刚接触这方面的知识。 请各位高人多多指点,小弟谢先!

[此贴子已经被作者于2005-2-23 12:22:11编辑过]

欢迎交流、学习!
我试了一下,把read 改为高电平有效,也不行啊。那位大侠指点一下了,小弟谢谢了:)
欢迎交流、学习!
返回列表