你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32编程-有没无while(1)的影响

[复制链接]
赵怡彬 提问时间:2016-12-13 02:52 /
int main(void)
{
        u8 time,data;
        RCC_Configuration();
        GPIO_Configuration();
        USART_Configuration ();
        data='A';
        for(time=0;time<20;time++){
        while(USART_GetFlagStatus( USART1,  USART_FLAG_TC)==RESET);
        USART_SendData(USART1,data);
        data++;
while(1);
}
为什么我在加上while(1)的时候串口窗口里收到的数据有20个,去掉while(1)的时候,只接受到19个,最后一个T丢失了

收藏 1 评论11 发布时间:2016-12-13 02:52

举报

11个回答
creep 回答时间:2016-12-13 07:43:41
不加while 的话最后一个数据串口还没有来的急发送成功程序就退出main 了
walker2012 回答时间:2016-12-13 07:50:04
一个跑飞的程序,什么事都有可能发生。
赵怡彬 回答时间:2016-12-13 08:34:34
creep 发表于 2016-12-13 07:43
不加while 的话最后一个数据串口还没有来的急发送成功程序就退出main 了

知道了~
赵怡彬 回答时间:2016-12-13 08:34:56
WALKER168 发表于 2016-12-13 07:50
一个跑飞的程序,什么事都有可能发生。

好的,知道了~
anobodykey 回答时间:2016-12-13 08:45:51
顶楼上的
小小超 回答时间:2016-12-13 08:54:18
加不加 while 好像都能重复执行程序。
any012 回答时间:2016-12-13 09:12:17
creep 发表于 2016-12-13 07:43
不加while 的话最后一个数据串口还没有来的急发送成功程序就退出main 了

请教:main函数里如果没有while(1)循环的话,会不会重新执行main函数?
jackten 回答时间:2016-12-13 09:14:35
那是因为第一个太快了,没有接收到                 
斜阳 回答时间:2016-12-13 09:23:30
转转               
creep 回答时间:2016-12-13 09:53:47
any012 发表于 2016-12-13 09:12
请教:main函数里如果没有while(1)循环的话,会不会重新执行main函数?

没有实测过,但我认为应该不会重新执行main了,或许可能会进入到系统的fault里面或者其他死循环。
赵怡彬 回答时间:2016-12-14 01:26:57
any012 发表于 2016-12-13 09:12
请教:main函数里如果没有while(1)循环的话,会不会重新执行main函数?

这个肯定不会啊,没有循环就只执行一次就过去了

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版