完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我的ds1302出现了读取时显示‘??’的问题!也是只要加一句io=0;显示器上面就不会出现“??”,我到现在也不知道问题是在哪里!但是我现只要前一次读出的是偶数,后面就只能读出0xff即显示“??”但是当奇数的时候就可以正常的读取出来!秒位是每个一秒变化!接着循环回去读年的时候,年就每隔一秒在正常和“??”间闪烁一次!我想就是怎么也想不明白,时序没问题!读出的奇数和偶数会影响到下一次读取!但是加了那句就正常了,在说偶数和奇数的区别就是最后以为是不一样的!前面就是随机的,这要怎么影响下一次读取呢?还求大虾帮忙啊!!!!
uchar read(uchar add) { uchar temp,t; ce=1; sclk=0; ce=0; temp=add; for(t=0;t<8;t++) { if((temp&0x01)==1) dio=1; else dio=0; sclk=1; sclk=0; temp>>=1; } temp=0; for(t=0;t<8;t++) { if(dio==1) temp|=(0x01< sclk=0; } ce=1; dio=0;//问题就在这里! return temp; } |
|
相关推荐
8个回答
|
|
当是偶数的时候dio就默认为是等于0,但是是奇数的时候最后默认是1,所以你是否需要进行强制dio为0或者1
|
|
|
|
什么!当是偶数的时候dio就默认为是等于0,但是是奇数的时候最后默认是1,怎么会这样!我是在读出偶数以后将dio强制致0才行,致1就不可以,按照你的说法也矛盾啊
|
|
|
|
而且在循环的读的时候,dio是根据他输出的变化而变化,只要致1,就好了啊
|
|
|
|
谢谢啦!我找到答案啦
|
|
|
|
楼主你好,我也正学习这个芯片, 一起交流下.........感觉是不是楼主你io的配置方式没有正确呢,什么单片机,支持双向么,会不会是 DIO 单片机的主动使能 影响到了结果呢, 就好像你程序中,发送最后一位后,DIO 可以为1 或者0,会不会是这个地方还需要添加一句消除影响的 语句呢?望赐教。。。。 |
|
|
|
好好看看实例程序,慢慢改错
|
|
|
|
楼主能把找到的答案公布一下么?
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
1306 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
953 浏览 0 评论
1178 浏览 0 评论
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
1223 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
937 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10553 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-9 01:13 , Processed in 0.666668 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号