阅读:1214回复:3
请教d12的两个接口函数
这三个函数我实在困惑,请问有那位高手能给我注释一下吗?在下感激不尽啊。他们的作用是干吗的。由于看不懂这三个函数,后面很多地方也卡壳了,大家救救我吧
void outportcmd(unsigned char value) { /* // unsigned char xdata *ext_address; // ext_address=D12_command; // *ext_address = val; // write cycle *((INT8 xdata *)D12_command) = val; */ *((unsigned char xdata *)D12_COMMAND)=value; } void outportdata(unsigned char value) { *((unsigned char xdata *)D12_DATA)=value; } unsigned char inportb(void) { /* // unsigned char c; // unsigned char xdata *ext_address; // ext_address=(D12_data&0xff00); // c = *ext_address ; // read cycle // return c; return *((INT8 xdata *)D12_data); */ return *((unsigned xdata *)D12_DATA); } |
|
|
沙发#
发布于:2003-03-13 13:19
你应该多看一看c51的书。上面讲得很明白。
*((unsigned char xdata *)D12_DATA)=value; 的意思就是: mov dptr,#D12_DATA mov a,value movx @dptr,a |
|
板凳#
发布于:2003-03-13 15:43
改为:
unsigned char inportb(void) { return *((unsigned char xdata *)D12_DATA); } 编译后才能工作 [编辑 - 3/13/03 by hartley] |
|
地板#
发布于:2003-03-13 19:49
是这样的吗??
|
|
|