完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
74HC165为并转串输出芯片,资料显示为时钟上升沿有效,会进行串行输出。所以我写了下面的读取函数
for(i=0;i<8;i++) { a=a<<1; //最终获取的串行数据保存在变量a中 SCLK=0; //SCLK为时钟 _nop_(); //② SCLK=1; a=a|DATA; //① DATA为每次串口输出脚每次输出的电平信号 _nop_(); } 我这么写,最终输出的数据少了一位。 从网上找资料看到大家都是把上面的①处的那句话写在了②处。问题是不是上升沿有效吗?这样子写的话感觉是在SCLK=1之后进行了第二次for循环的时候才会把DATA的数据第一次给了变量a。这样8次循环之后不也少一位吗?但是实际却是正确的,求大神解答 |
|
相关推荐
11个回答
|
|
自己回答一下,刚查到份资料,在装载到寄存器后,其中高位已默认移了过去,第一次可以直接读就OK,剩下的按照时钟脉冲去一位位的读取
|
|
|
|
自己顶一下吧。
|
|
|
|
|
|
可以根据数据缺少在第几位来判断一下是什么问题,不太象是上升沿的问题
|
|
|
|
第一位缺失了,但是按照后面说的那种写法,缺失是没问题,和例成的唯一区别就在这。其他的都一样。想半天也不理解。上升沿的时候DATA允许改变,为啥不在上升沿结束之后给把这个改变赋给变量a呢? |
|
|
|
是第一位移位进来的数据,还是最后一位移进来的数据,看跟移位的顺序有没有关系
|
|
|
|
|
|
|
|
|
|
|
|
求大神解答啊
|
|
|
|
自己接着顶
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
377 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
536 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
540 浏览 0 评论
950 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1403 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11762 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:59 , Processed in 0.776976 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号