找回密码
 注册
搜索
查看: 1264|回复: 4

[讨论] 关于firmware

[复制链接]
发表于 2010-11-13 23:37:19 | 显示全部楼层 |阅读模式
下面是段cypress公司的固件代码
    BOOL CheckForFX2()
{
   BYTE temp;

   // make a backup copy of the test register
   temp = INTSETUP_FX2;    //我的理解这里是将temp指向INTSETUP_FX2的地址
   INTSETUP_FX2 = 0xFF;    //给INTSETUP_FX2寄存器赋值???
   if (INTSETUP_FX2 == 0x0B)
   {
      INTSETUP_FX2 = temp;
      return TRUE;
   }
   else
   {
      INTSETUP_FX2 = temp;
      return FALSE;
   }
}
在这段的代码中的
INTSETUP_FX2 = 0xFF;
   if (INTSETUP_FX2 == 0x0B)这两句该如何理解?

其中INTSETUP_FX2是这样定义的,
    xdata volatile BYTE INTSETUP_FX2             _at_ 0xE668;         // Interrupt 2&4 Setup
各位大侠,帮忙指点下
发表于 2010-11-28 21:05:01 | 显示全部楼层
路过,学习。
点评回复

使用道具 举报

发表于 2010-11-24 20:04:43 | 显示全部楼层
应该是测试硬件有没有正常工作的吧。就是说,如果你给INTSETUP_FX2这个寄存器赋值为0xFF,如果寄存器自动变成0x0B(硬件自己做了动作)的话就是说工作正常,否则错误。检查完成后再把寄存器原来的值写回去。

其实在
INTSETUP_FX2 = 0xFF;   
   if (INTSETUP_FX2 == 0x0B)
之间最好加个延时。
点评回复

使用道具 举报

发表于 2010-12-1 17:03:07 | 显示全部楼层
介绍一下国内最好用的电子元器件数据手册和设计资料库:
www.datasheet5.com
470万份全球最新电子元器件、集成电路数据手册
1400家全球著名半导体厂商检索和产品目录
www.cndzz.com
2万份实用电子电路图在线检索
10万份电子工程师珍藏的设计资料
点评回复

使用道具 举报

发表于 2012-5-18 14:58:53 | 显示全部楼层
kankan
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-23 23:52 , Processed in 0.045243 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表