阅读:1135回复:3
请教读中断寄存器的问题D12+52 void outportcmd(unsigned char value) { *((unsigned char xdata *)D12_COMMAND)=value } void outportdata(unsigned char value) { *((unsigned char xdata *)D12_DATA)=value; } unsigned char inportb(void) { return *((unsigned xdata *)D12_DATA); } unsigned short D12_ReadInterruptRegister(void) { unsigned char b1; unsigned int j; //outportb(D12_COMMAND, 0xF4); outportcmd(0xF4); b1 = inportb(); j = inportb(); j <<= 8; j += b1; return j; } 为什么读不出来?? ALE--ALE RD--RD WR--WR CS--P1。6 SUSPEND--P1。7 [编辑 - 1/12/04 by yyouking] |
|
|
沙发#
发布于:2004-10-25 22:20
这个问题我已经搞定了,“就是用原代码替换子程序!”
但是我的周立功的板子,为什么在上电初读中断寄存器而每次的值会不一样呢,很奇怪!我正在调试,那位大虾如知道,请指点一二!是不是不稳定的缘故啊? |
|
板凳#
发布于:2004-10-25 18:01
yyouking搂主,可以告诉我你的问题是怎么解决的吗?我的代码和你的相同,但也遇到了和你同样的问题,所以向你请教,非常希望得到答复,不胜感激。
|
|
地板#
发布于:2004-01-12 12:38
应该是对的啊,怎么就不能执行呢
|
|
|