grimreaper
驱动牛犊
驱动牛犊
  • 注册日期2004-10-13
  • 最后登录2006-08-25
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:952回复:0

求助:周立功D12 SMART板源程序

楼主#
更多 发布于:2004-11-25 19:14
这两天找了份周立功的d12 smart开发板的源程序,看得头都大了,还是有些地方不懂,麻烦高人们指点一二!


void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable)
{   if(bEPPflags.bits.in_isr == 0)  DISABLE; 禁止中断                          
    outportb(D12_COMMAND, 0xD0);
    if(bEnable)
    bAddress |= 0x80;
    outportb(D12_DATA, bAddress);

    if(bEPPflags.bits.in_isr == 0)  ENABLE; 允许中断
}


void outportb(unsigned char port, unsigned char val)
{  unsigned char xdata *ext_address;    
  
   MCU_HOSTDACK =1;  
    
   ext_address=0xff00 + port;
   *ext_address = val;

   MCU_HOSTDACK =0;
}


为什么单凭一个地址就可以让D12分辨是传进来的是命令还是数据,周立功说:奇数地址的输出为命令,偶数地址的输出为数据。这是谁规定的,是D12默认的还是周立功编程实现的(后者好像不太可能,我在程序里面没有找到相关的东西啊)?

还有MCU_HOSTDACK是个什么东西,我在源程序,头文件里都没有看到关于它的声明,是不是他们不小心拉下了?:P

游客

返回顶部