完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,请问哪位大神用过HEF4894B这个12级的串转并移位寄存器,按手册里的逻辑编程,但没有得到预想的结果,求大神指点!
附件是IC的datasheet; HEF4894B-v 9.0-2016.pdf (791.03 KB ) 自己编写的驱动如下: /* Transform data to QP0 ~ 11*/ void HEF4894_Trans(unsigned long data,unsigned char data_len) { unsigned long temp_data = 0; unsigned char i = 0; temp_data = data; HEF4894_STR = 0; /* 锁存关 */ HEF4894_OE = 0; /* 输出使能关 */ HEF4894_D = 0; /* 数据输入0 */ HEF4894_CP = 0; /* 时钟线0 */ /* trans data to the register of HEF4894 */ for(i=0;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 = 1; /* 锁存使能 */ HEF4894_OE = 1; /* 输出使能 */ } |
|
相关推荐
5个回答
|
|
|
|
|
|
|
|
谢谢等待大神的出现
|
|
|
|
嗯嗯,谢谢提醒哈,我再调试一下
|
|
|
|
还是大神厉害啊,谢谢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 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; /* 锁存关 */ } |
|
|
|
只有小组成员才能发言,加入小组>>
960 浏览 2 评论
12861 浏览 0 评论
4146 浏览 7 评论
2358 浏览 9 评论
2189 浏览 2 评论
478浏览 2评论
843浏览 2评论
960浏览 2评论
430浏览 1评论
664浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 23:38 , Processed in 0.916290 second(s), Total 54, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号