完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
RT,在写一个关于I2C的函数,出现问题了,而问题不在别的上,而在delay上,让我百思不得其解。
void delay() //延时 { char x; for(x=0;x<10;x++); } 用以上的程序,运行出现问题,但当我改成for函数改成 for(x=1;x<11;x++); 问题就没了,这是怎么回事啊 另外之前也遇到过在别的程序中 for(i=0;i<8;i++); 不行,改成 for(i=1;i<9;i++); 或者倒过来都可以 如果是函数初始化的话我试过全部不初始化,也试过全部初始化都不行 |
|
相关推荐
13个回答
|
|
我想呵呵了,赋初值的时候 也要和之后赋值的值相同才行
void delay() //延时 { char x=1; for(x=1;x<11;x++); } 上面这个可以,改成 char x=0; 就又不行了 |
|
|
|
新装了个Keil MDK4.12,结果按照之前装STC库的方法装添加STC的单片机不成功
|
|
|
|
调试下两段程序用的时间看看!
|
|
|
|
你是不是在程序里,用到CY位了
|
|
|
|
|
|
|
|
今天装了个新的KEIL,可惜还是不行。 调试的话试了,如果是不成功那种情况,delay压根就没有效果,进入delay函数后STEP下一步就很快跳出了。而成功的那种情况,delay很好的起了作用。 |
|
|
|
本帖最后由 olive2003 于 2014-6-24 22:05 编辑
CY位么,确实用到了ACC和左移了 ACC=ACC<<1; ACC0=SDA; 这个对delay有什么影响么? ———————————————————————————————————— 刚才试了下放弃使用ACC的方法读取数据,发现delay函数怎么改都没问题了。膜拜大神,请教原因。 |
|
|
|
嗯,很严格这点我知道,像我试验的24C02就需要5us的处理时间,而结束和起始之间估计没1ms反应不过来。 正是因为delay稍有改变,进入delay函数后马上就跳出来了 |
|
|
|
本帖最后由 jylfyzyz 于 2014-6-25 17:42 编辑
最好不要随便用ACC,看过一些说for(i=0;i<10;i++)和for(i=10;i>0;i--)因为使用了ACC导致结果不同,最好新建一个变量。这是那位博主写的ACC对for循环的影响
|
|
|
|
嗯,了解了。之前我也曾经出现过用for(i=0;i<8;i++)出现错误的情况。然后后面两三天天尝试用for(i=8;i>0;i--),不过因为习惯问题,偶尔还是写错,就放弃了。看来今天要重新试着改这个习惯了。 问题解决,这帖子就让他沉了吧。 最后感谢提供解答,谢谢。 |
|
|
|
嗯,了解了。之前我也曾经出现过用for(i=0;i<8;i++)出现错误的情况。然后后面两三天天尝试用for(i=8;i>0;i--),不过因为习惯问题,偶尔还是写错,就放弃了。看来今天要重新试着改这个习惯了。 问题解决,这帖子就让他沉了吧。 最后感谢提供解答,谢谢。 |
|
|
|
先不要沉,我想说一下我个人看法。我观察过过很多人写程序,对于从引脚获取串行数据的写法中,不知道从哪里来的习惯,会用ACC寄存器去获取。先不说这么用会给程序带来隐患,就从编程的角度出发,既然使用了C语言,能脱离硬件底层的写法就尽量避免不要用底层寄存器,一方面程序方便移植,另一方面也不会与编译器编译产生冲突。有人还说使用ACC提高处理器效率,我只想说,你应该先去试试,不要人云亦云。
|
|
|
|
当你给某个变量赋值为0时,CY位可能就被你清零了,建议谨慎用CY位 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
195 浏览 0 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
172 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
453 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
697 浏览 2 评论
602 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11977 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 18:16 , Processed in 0.968997 second(s), Total 95, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号