OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3453|回复: 5

关于GSM模块拨号的问题,为什么程序里没有写循环,但是一直在重复拨号!!!!!!!

[复制链接]

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
发表于 2017-8-30 16:53:14 | 显示全部楼层 |阅读模式
5金钱
phone_call(1);//拨打电话
for(n=0;n<15;n++)
{
        LED22=0;//指示灯灭
        delay_ms(1000);
}//拨号15秒以后
sim800c_send_cmd("ATH","OK",200);//挂断电话
LED22=1;//指示灯亮




如果在程序最后加上while(1)就不会重复拨号,搞不懂是为什么???,求助

最佳答案

查看完整内容[请看2#楼]

嵌入式软件不同于PC机下编程,PC下写C语言从main函数返回的话,是会返回操作系统的,所以不会出错。而对于裸机不应该退出MAIN函数,不然会出现错误。 所以要么while(1); 要么while(1){ }
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

57

主题

316

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1344
金钱
1344
注册时间
2018-1-11
在线时间
156 小时
发表于 2017-8-30 16:53:15 | 显示全部楼层
嵌入式软件不同于PC机下编程,PC下写C语言从main函数返回的话,是会返回操作系统的,所以不会出错。而对于裸机不应该退出MAIN函数,不然会出现错误。
所以要么while(1);
要么while(1){

}
回复

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2017-8-30 16:54:18 | 显示全部楼层
可以实现拨号和挂断,就是程序里我明明没有写循环,但是就是一直在循环拨号,挂断,感觉很奇怪又找不到原因,
回复

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2017-8-30 16:54:30 | 显示全部楼层
顶顶顶顶
回复

使用道具 举报

20

主题

169

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1012
金钱
1012
注册时间
2017-7-27
在线时间
162 小时
 楼主| 发表于 2018-3-11 11:35:08 | 显示全部楼层
活到老,学到老 发表于 2018-3-11 11:08
嵌入式软件不同于PC机下编程,PC下写C语言从main函数返回的话,是会返回操作系统的,所以不会出错。而对于 ...

是的,单片机是一直在循环跑程序,如果没有while就会从头再开始跑,哈哈,谢谢
回复

使用道具 举报

57

主题

316

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1344
金钱
1344
注册时间
2018-1-11
在线时间
156 小时
发表于 2018-3-11 12:49:41 | 显示全部楼层
white199494 发表于 2018-3-11 11:35
是的,单片机是一直在循环跑程序,如果没有while就会从头再开始跑,哈哈,谢谢

哈哈,不客气,突然浏览到,就回答下,还请多多指教
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 04:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表