请教NAT9914的问题

[复制链接]
 楼主| xqf2525 发表于 2010-8-9 19:07 | 显示全部楼层 |阅读模式
怎么样才能知道读写寄存器成功呢?
我按照官方资料上的测试程序

/* Test 1 - check ADSR and ISR0 by programming to talk with 'ton' */
struct ck       t1[] = {
   {WT, tauxmr,0x15},     /* switch to 9914 mode */
   {WT, auxcr, 0x1c},     /* reset chip */
   {WT, auxcr, 0x80},     /* reset chip */
   {WT, auxcr, 0x00},     /* reset chip */
   {WT, auxcr, 0x1e},     /* page in to imr2 */
   {WT, imr2,  0x00},     /* clear GLINT bit and imr2*/  
   {WT, imr1,  0x00},     /* clear imr1 */
   {WT, imr0,  0x00},     /* clear imr0 */
   {WT, auxcr, 0x8a},     /* 'ton' */
   {RD, isr0,  0x10},     /* BO bit set - no interrupts */
   {RD, isr1,  0x00},
   {RD, adsr,  0x02},     /* 9914A is TADS */
   {WT, auxcr, 0x0a},     /* clear 'ton' */
   {RD, adsr,  0x00},     /* TADS cleared */
{0}};
我读出来的数据一直都是不对的。



硬件连接时这样的

读写子程序是

void outp(unsigned char  abc,unsigned char o_data)
{unsigned char xdata *io_address;
io_address=abc<<8;
  *io_address  = o_data;
}
unsigned char  inp(unsigned char abc)
{unsigned char temp;
unsigned char  xdata *io_address;
io_address=abc<<8;
temp= *io_address ;
return temp;
}

RS0-2接的是P2.0-2

void outp(unsigned char  abc,unsigned char o_data)
{unsigned char xdata *io_address;
io_address=abc<<8;
  *io_address  = o_data;
}
unsigned char  inp(unsigned char abc)
{unsigned char temp;
unsigned char  xdata *io_address;
io_address=abc<<8;
temp= *io_address ;
return temp;
}

#define Base_Address 0x00
/* define i/o addresses of the registers on the nat9914  */
#define r_isr0 (Base_Address )
#define r_imr0 (Base_Address )
#define r_isr1 (Base_Address+1  )
#define r_imr1 (Base_Address+1  )
#define r_adsr (Base_Address+2  )
#define r_imr2 (Base_Address+2  )
#define r_eosr (Base_Address+2  )
#define r_bcr (Base_Address+2  )
#define r_accr (Base_Address+2  )
#define r_bsr (Base_Address+3  )
#define r_auxcr (Base_Address+3  )
#define r_isr2 (Base_Address+4  )
#define r_adr (Base_Address+4  )
#define r_spmr (Base_Address+5)
#define r_spsr (Base_Address+5)
#define r_cptr (Base_Address+6)
#define r_ppr (Base_Address+6)
#define r_dir (Base_Address+7)
#define r_cdor (Base_Address+7)


高手帮帮忙
看下错误在哪里

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
lhkjg 发表于 2010-8-19 19:09 | 显示全部楼层
大哥,这个我想帮你看的人应该很少的。靠自己吧
cici_ys 发表于 2013-12-30 17:03 | 显示全部楼层
请问你后来问题解决了吗?
youluo235 发表于 2013-12-30 20:03 | 显示全部楼层
没玩过这东西。这种带程序的楼主还是自己慢慢摸索靠谱点。或者直接有已经搞好的模块,在那个基础上修改
201641301152 发表于 2019-8-25 15:36 | 显示全部楼层
楼主解决了吗?,最近在学习GPIB,但NAT9914一直没有读写成功,读回来的都是0XFF,为什么呢?能否一起学习,QQ:486053668
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部