[PIC®/AVR®/dsPIC®产品] PIC单片机会重复执行main函数么?

[复制链接]
2738|6
 楼主| 青鸟的虚像 发表于 2015-8-17 12:59 | 显示全部楼层 |阅读模式
小弟刚接触单片机,试着谢了个灯闪的程序。如下。file:///C:\Users\advanpro-pc\AppData\Roaming\Tencent\Users\1102392232\QQ\WinTemp\RichOle\2L43`AZSCR86N7X_TB0$C3P.png
主函数使用while(1)实现重复灯闪,延时程序也比较简单。烧录后可以使LED等一闪一闪。但是当我把while循环去掉重新烧录入PIC单片机时却发现单片机还是能一闪一闪。不应该是只闪一次么?还是说PIC单片机本身会重复执行main函数。
file:///C:\Users\advanpro-pc\AppData\Roaming\Tencent\Users\1102392232\QQ\WinTemp\RichOle\2L43`AZSCR86N7X_TB0$C3P.png


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
hbzjt2011 发表于 2015-8-17 13:47 | 显示全部楼层
你确认烧录成功了吗?没有用过PIC的单片机,不过我想肯定不会的。
 楼主| 青鸟的虚像 发表于 2015-8-17 14:11 | 显示全部楼层
hbzjt2011 发表于 2015-8-17 13:47
你确认烧录成功了吗?没有用过PIC的单片机,不过我想肯定不会的。

谢谢。的确不是单片机的问题。刚才才查到,是编译器完成的功能,让这个程序执行完后可以重复执行。
huarana 发表于 2015-8-17 16:48 | 显示全部楼层
你的代码有问题

你可以在你的代码后面加一行

while(1);   就可以了

因为你要让单片机有事可干,不能让单片机啥事都不干啊
那样程序肯定运行不正常。


ps:我当年也犯过这错误,实在51上。。呵呵
 楼主| 青鸟的虚像 发表于 2015-8-17 17:27 | 显示全部楼层
huarana 发表于 2015-8-17 16:48
你的代码有问题

你可以在你的代码后面加一行

恩,其实后面还有一个调用程序要补充的,只是想先确定下前面部分有没有错,结果被编译器的重复功能误导了。谢谢你。
huarana 发表于 2015-8-19 10:42 | 显示全部楼层
青鸟的虚像 发表于 2015-8-17 17:27
恩,其实后面还有一个调用程序要补充的,只是想先确定下前面部分有没有错,结果被编译器的重复功能误导了 ...

这跟编译器没关系 - -

不信你换个编译器试试。。
scottmaxwell 发表于 2015-8-24 13:27 | 显示全部楼层
你这样写 ,程序运行到最后就跑飞了,main()函数循环运行  是因为程序跑飞后单片机又复位了,重新开始运行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

37

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部