Board logo

标题: 请教有关2407A数据总线的问题 [打印本页]

作者: haiqing05    时间: 2006-11-29 09:32     标题: 请教有关2407A数据总线的问题

请教有关2407A数据总线的问题

请问2407A用C语言向数据线D0~D7写数据该怎样操作?
另外
ioport unsigned port3;
ioport unsigned port2;
定义的端口又是什么意思,他们的地址都是在哪里定义的。
请各位朋友赐教!非常感谢!

作者: xiii_nuaa    时间: 2006-11-29 16:51

ioport 是用来定义io口的一个关键字

语法:   ioport type porthex_num  ;
其中:
      ioport     keyword,表明这是一个端口变量
      type      必须是 char short int 或 unsigned int
      porthex_num   端口号,hex_num是一个十六进制数,代表IO空间的地址

注:端口定义放在函数中无效,必须在文件级的位置。

所以,ioport unsigned port3;  表示定义了一个unsigned类型的IO口,其地址为 003H

例:

ioport int port10;    //定义了一个整型的IO口,其地址为 010H
int a;int b;int c;
extern void foo(int);

void  func( )
{
     port10 = a;   //把a从port10送出
     b = port10;   //读操作
     foo(port10);  //可以作为函数的参数
     c = port10+b;
     port10 += a;  // 可以放在表达式中操作

}

如果对定义IO口的地址有疑问的话,可以看下C compiler 的输出文件。

比如   port10 = a;  被编译为以下的汇编语句:

                MOVZ   DP,#_a
                OUT    *(010H),@_a


     


作者: haiqing05    时间: 2006-11-29 17:34

谢谢各位朋友的指点,但我还是不懂怎样对LF2407A的数据线D0~D15进行操作,麻烦大家给我举个例子,比如我要从D0~D15上送出一个数0x00FF,用C语言该怎样写。


作者: xiii_nuaa    时间: 2006-11-29 18:47

不是很明白你的意思,你的数据线是连到哪里呢?外设?存储器?
作者: chen830224    时间: 2006-11-30 15:10

请不要和单片机的数据线混淆!

单片机的是复用的,而DSP不是.


作者: haiqing05    时间: 2006-11-30 17:14

如果D0~D7连到液晶显示模块的D0~D7上,我想给D0~D7送个数,该如何操作??
作者: liuxiangyua    时间: 2006-11-30 23:20

对,楼上的朋友说得对,DSP是哈佛结构的

D0~D7的输出,跟内存映射地址有关。。。。

如果连接的是液晶,我看到很多同行是用GPIO连接LCD,而不是用DATA BUS连接(我自己也用GPIO),


作者: haiqing05    时间: 2006-12-1 12:19

谢谢各位朋友的热心帮忙,用D0~D7控制液晶的问题我已搞明白了。
作者: yizhetian    时间: 2007-11-6 15:36     标题: [原创]

在网上看到你的帖子:请教有关2407A数据总线的问题”

我现在遇到的问题和你说的基本一样也是要数据总线连接显示器,请问你是怎么解决的,麻烦了,

我的QQ是68402710,邮箱是yizhetian@163.com






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0