完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你的延时时间不够吧 CW是干什么的 CLK是什么?
|
|
|
|
|
|
你这个主程序怎么没有循环啊 结构有问题 刚才没看见
int main(void) { unsigned char i; while(1) { for(i = 0; i < 5; i++) { CLK = !CLK; DelayMS(1) ; } } return 0; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
把这个:if(i<10)
{ CLK=!CLK; DelayMS(1) ; i++; } 改为:if(i<10) { CLK=!CLK; DelayMS(1) ; i++; } CLK=0;//如果你的电机是低电平关闭的话 |
|
|
|
|
|
你这个不行啊,for循环一直在产生!!! |
|
|
|
|
|
i = 5后,程序停止了啊?CLK等于什么没关系啊!不满足for循环后 在while里停止了啊
|
|
|
|
|
|
把for(i = 0; i < 5; i++) 改为for(; i < 5; i++) 就不会在while(1)中重复执行了 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
问题出在程序的结束处,当程序输出有限个脉冲之后,程序结束,运行到main函数的结束,那么就要返回,这时候能返回到哪去?
如果是51的片子,那么很多公司的芯片都是继续从头再运行程序,于是继续输出有限个脉冲,看起来就是没有结束了 如果在程序的最后假山while(1); 不让程序结束,那么就可以了 最后一种方式就是不结束的方式,实际是可行的,但是楼主说要跳出while,如果是main函数,跳出之后又回到原来的问题了 51单片机的裸机C程序还是不要跳出main函数,这样才是可控的,否则就是人为的跑飞 |
|
|
|
|
|
|
|
|
|
|
|
i<1000(unsigned char 不适最大255)?
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
265 浏览 0 评论
【原创】【RA4M2-SENSOR开发板评测】低功耗+USB综合测试
789 浏览 0 评论
1306 浏览 2 评论
787 浏览 0 评论
【RA4M2-SENSOR开发板评测】Analogue+Timers综合测试
1587 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
16901 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:48 , Processed in 2.167663 second(s), Total 106, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
7649