野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 21386|回复: 11

STM32代码语句疑问

[复制链接]
发表于 2014-3-17 10:08:53 | 显示全部楼层 |阅读模式
extern volatile uint8_t rec_cmd;

这句语句的作用是什么?

还有
int main(void)
{  
  Test();

        while( 1 ){}
}

这句语句的测试代码运行之后while的作用,为什么要死循环?
我们直接测试代码运行完了,还循环做什么/?
回复

使用道具 举报

发表于 2014-3-17 10:10:29 | 显示全部楼层
extern volatile uint8_t rec_cmd;
声明rec_cmd这个变量是在其它文件定义的

最后不加while(1)死循环的话,程序运行一次之后指针乱指,然后就出错了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-17 10:13:53 | 显示全部楼层
危隽洁 发表于 2014-3-17 10:10
extern volatile uint8_t rec_cmd;
声明rec_cmd这个变量是在其它文件定义的

但是我的主函数没有使用while(1){}还是可以正常运行吧
回复 支持 反对

使用道具 举报

发表于 2014-3-17 10:20:09 | 显示全部楼层
绝地 发表于 2014-3-17 10:13
但是我的主函数没有使用while(1){}还是可以正常运行吧

那肯定是因为test()函数里有死循环
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-17 10:23:53 | 显示全部楼层
危隽洁 发表于 2014-3-17 10:20
那肯定是因为test()函数里有死循环

没有哦,可以加扣聊吗
回复 支持 反对

使用道具 举报

发表于 2014-3-17 10:47:51 | 显示全部楼层
绝地 发表于 2014-3-17 10:23
没有哦,可以加扣聊吗

你试试把test函数换成一个点灯操作,然后后边不要加循环,运行一下之后灯应该会灭的,反正加while就是保证程序一直在可控的范围内执行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-17 10:50:11 | 显示全部楼层
危隽洁 发表于 2014-3-17 10:47
你试试把test函数换成一个点灯操作,然后后边不要加循环,运行一下之后灯应该会灭的,反正加while就是保证 ...

你的意思就是加了while(1)把test函数放在循环里和放在循环外是一个效果?
回复 支持 反对

使用道具 举报

发表于 2014-3-17 11:06:53 | 显示全部楼层
绝地 发表于 2014-3-17 10:50
你的意思就是加了while(1)把test函数放在循环里和放在循环外是一个效果?

是的,就是程序必须在一个死循环里跑
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-17 14:59:32 | 显示全部楼层
危隽洁 发表于 2014-3-17 10:47
你试试把test函数换成一个点灯操作,然后后边不要加循环,运行一下之后灯应该会灭的,反正加while就是保证 ...

主函数   
int main(void)
{  
  ISO_Test();

        while( 1 ){}
}

测试程序
void ISO_Test(void)
{  

  LCD_Init();
  
  USART1_Config();

  Test_Menu();
  
  Board_Test();

        while( 1 ){}
}
/* -


为什么加这个么多死循环???
不明白,请大神解释一下O(∩_∩)O~

回复 支持 反对

使用道具 举报

发表于 2014-3-17 15:01:12 | 显示全部楼层
绝地 发表于 2014-3-17 14:59
主函数   
int main(void)
{  

纯粹习惯性的问题,不要纠结于此,只要明白它的作用就好
回复 支持 反对

使用道具 举报

发表于 2014-3-17 15:02:34 | 显示全部楼层
绝地 发表于 2014-3-17 14:59
主函数   
int main(void)
{  

有一个就可以了,外面那个确实是习惯问题。。因为不是所有函数都像这个test函数自带死循环的
回复 支持 反对

使用道具 举报

发表于 2014-3-19 16:46:32 | 显示全部楼层
走过路过,不能错过
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 20:44 , Processed in 0.047393 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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