DSP 5502 读写外部IO空间 C语言

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:36:41
想解决5502和AD之间数据传递的问题,在网上逛了几天了,找到一个55系列的读写IO的方法,如下:
ioport short * io_tl16c55;
short sh_addr=0x0100;
short sh_read_data;
sh_addr=0x000f;
io_tl16c55=&sh_addr;
sh_read_data=*io_tl16c55;
但是在示波器上看不到数据线上有数据传输,不知道是怎么回事,请高手指教下,不胜感激!
还需要其他设置吗?

io_tl16c55=&sh_addr;
sh_read_data=*io_tl16c55;

实际上不就是“sh_read_data=sh_addr;”么???

......虽然我不知道外部数据线地址是多少,不过这几句让我觉得很诡异,sh_addr不是寄存器么???

我感觉应该是:
ioport short * io_tl16c55;
short sh_addr=0x0100;
//0x0100或许是IO口地址吧,不确定
short sh_read_data=0;
//清零吧,最好
*sh_addr=0x000f;
//写操作,4位的高电平信号,而不是地址
io_tl16c55=sh_addr;
sh_read_data=*io_tl16c55;//读操作

另外,这样改的前提是有类似下面的定义
typedef volatil ioport;
即指定ioport是实时读取的变量

楼上说的我表示很怀疑!