OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5173|回复: 5

哪位大神用过HEF4894B这个移位寄存器

[复制链接]

5

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2014-12-17
在线时间
16 小时
发表于 2017-7-12 22:35:31 | 显示全部楼层 |阅读模式
1金钱
如题,请问哪位大神用过HEF4894B这个12级的串转并移位寄存器,按手册里的逻辑编程,但没有得到预想的结果,求大神指点!

附件是IC的datasheet;
HEF4894B-v 9.0-2016.pdf (791.03 KB, 下载次数: 76)

最佳答案

查看完整内容[请看2#楼]

STR用错了。 输入数据之前,必须拉高。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11428
金钱
11428
注册时间
2014-4-1
在线时间
1287 小时
发表于 2017-7-12 22:35:32 | 显示全部楼层

STR用错了。
输入数据之前,必须拉高。

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165359
金钱
165359
注册时间
2010-12-1
在线时间
2110 小时
发表于 2017-7-13 01:22:13 | 显示全部楼层
帮顶
回复

使用道具 举报

5

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2014-12-17
在线时间
16 小时
 楼主| 发表于 2017-7-13 20:47:28 | 显示全部楼层

谢谢等待大神的出现
回复

使用道具 举报

5

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2014-12-17
在线时间
16 小时
 楼主| 发表于 2017-7-15 08:53:05 | 显示全部楼层
xuande 发表于 2017-7-14 14:12
STR用错了。
输入数据之前,必须拉高。

嗯嗯,谢谢提醒哈,我再调试一下
回复

使用道具 举报

5

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2014-12-17
在线时间
16 小时
 楼主| 发表于 2017-7-15 10:40:46 | 显示全部楼层
xuande 发表于 2017-7-14 14:12
STR用错了。
输入数据之前,必须拉高。

还是大神厉害啊,谢谢xuande版主,一语中的,重新看了下数据手册,输入数据前,STR和OE都需要拉高才可以,终于调试通过了,代码不敢独享,现公布到论坛,防止其他网友走弯路!

友情提醒:这一点也需要特别注意:CP的频率和数据保持的时间,要按手册中的要求,系统频率过高的时候,需要加入一点点延时,我用的是32MHz总线fBUS,测试没有问题,再高的频率没有测试,其他网友用的时候注意即可。

/* Transform data to QP0 ~ 11*/
/* if fBUS very high , a short delay time need for datainput*/
void HEF4894_Trans(unsigned long data,unsigned char data_len)
{
  unsigned long  temp_data = 0;
  unsigned char Trans_i = 0;
  
  temp_data = data;
  
  HEF4894_OE  = 1;   /* 输出使能 */
  HEF4894_STR = 1;   /* 锁存开 */
  HEF4894_CP  = 0;   /* 时钟线0 */
  HEF4894_D   = 0;   /* 数据输出0 */  
  
  /* trans data to the register of HEF4894 */
  for(Trans_i=0;Trans_i<data_len;Trans_i++)
  {

    HEF4894_CP  = 0;
    if((temp_data & (unsigned long)0x0001) == 0)
    {
      HEF4894_D = 0;
    }
    else
    {
      HEF4894_D = 1;
    }
    HEF4894_CP  = 1;
    temp_data = temp_data>>1;

  }
  
  HEF4894_CP  = 0;    /* 时钟线0 */
  HEF4894_STR = 0;    /* 锁存关 */
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-12-18 19:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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