完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近做了一个ATMEGA128单片机的DS2431芯片的读写,不知道为什么我读到的数全是1,而且我检查出来 是复位时没有检测到拉低信号,我是按照DATASHEET上的时序写的,时间长度我也用示波器勾过了,在它的时序范围内。请大神帮忙检查一下哪里出了问题。
复位程序: //1-Wire器件复位,并检查应答;有应答返回0,无应答返回1 unsigned char Reset(void) { DS_DQ_OUT; //设置端口为输出 DS_DQ1; NOP(); DS_DQ0; //复位低脉冲保持 delay1_nus(600); //延时 530us DS_DQ1; //释放总线 delay1_nus(70); //延时64us后读应答 DS_DQ_IN; //设置端口为输入 if(DS_DQ) //判断wire状态 { return(1); } else { beep(); //设置蜂鸣器检查程序是否运行到这里,结果蜂鸣器并没有响 delay1_nus(500); //延时450us return(0); } } |
|
相关推荐
3个回答
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
122 浏览 0 评论
565 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
772 浏览 0 评论
948 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
658 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12041 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 15:09 , Processed in 0.710425 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号