当前位置: 首页 > news >正文

网站模板html5金麦建站官网

网站模板html5,金麦建站官网,擦边球网站怎么做,电子商务网站建设实训室简介编写不易#xff0c;禁止搬运#xff0c;仅供学习#xff0c;感谢理解 问题现象 下面是一个在keil5里面写的一个#xff0c;int类型的返回值函数#xff0c;这个函数里面#xff0c;只有if else if else这三个判断条件语句#xff0c;正常来说任何情况下#xff0c;…                                        编写不易禁止搬运仅供学习感谢理解 问题现象 下面是一个在keil5里面写的一个int类型的返回值函数这个函数里面只有if  else if  else这三个判断条件语句正常来说任何情况下函数执行只会执行函数中的其中一个的判断语句条件不论执行的是哪一个判断语句条件这个时候都会有函数返回值函数如下。 int Scanf_Bit_IO_Function(void) {GLED_Open();if(!LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_2)!LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_1)){GLED_Close();YLED_Open();LL_mDelay(200);Beer_Start();if(LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_2)||LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_1)){//这个时候短接过后有不断接了停掉黄灯YLED_Close();return 0;//执行到return 就会结束函数当前调用因为在while里面就会再次进行调用}}else if(!LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_3)!LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_6)){GLED_Close();YLED_Open();LL_mDelay(200);Beer_Start();if(LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_2)||LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_1)){ //这个时候短接过后有不断接了停掉黄灯YLED_Close();return 0;//执行到return 就会结束函数当前调用因为在while里面就会再次进行调用 }}else{return 1;//这个时候代表没有检测到下拉}} 当时在实际编译的过程中keil5编译器是有一条warning的虽然warning不影响烧录程序当时为了弄明白是怎么回事就开始研究了。 ..\driver\gpio.c(168): warning: #940-D: missing return statement at end of non-void function Scanf_Bit_IO_Function } ..\driver\gpio.c: 1 warning, 0 errors 这里的话这个警告提示我们这个函数少了一个返回值当时按照函数逻辑来讲函数在任何情况下是不会少返回值的。 问题本质理解 这个时候需要占在keil5编译器的角度去理解问题keil5在检查代码的时候通常只进行静态分析不会运行代码他不会尝试所有可以运行的代码路径在代码里面虽然if-else if-else包含了所有的可能行但是编译器不能推断。 在keil5编译器的角度里面当if else if的条件为false的时候同时跳出else这种情况虽然我们知道这种情况是不可能发生的。 但是编译器不这么认为他认为如果发生这种情况仍然会返回位置的数值。 如何解决问题 上面已经描述了出现问题的情况所以这里只需要把编译器认为会出现没有返回值的情况在加上return 1 就可以了。 int Scanf_Bit_IO_Function(void) {GLED_Open();if(!LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_2)!LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_1)){GLED_Close();YLED_Open();LL_mDelay(200);Beer_Start();if(LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_2)||LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_1)){//这个时候短接过后有不断接了停掉黄灯YLED_Close();return 0;//执行到return 就会结束函数当前调用因为在while里面就会再次进行调用}}else if(!LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_3)!LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_6)){GLED_Close();YLED_Open();LL_mDelay(200);Beer_Start();if(LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_2)||LL_GPIO_IsInputPinSet(Scanf_Port, Set_Pin_1)){ //这个时候短接过后有不断接了停掉黄灯YLED_Close();return 0;//执行到return 就会结束函数当前调用因为在while里面就会再次进行调用 }}else{return 1;//这个时候代表没有检测到下拉}return 1;//加上return 让编译器不会报错 } 欢迎指正希望对你有所帮助
http://www.hkea.cn/news/14294453/

相关文章:

  • 中国做外贸的网站有哪些电子商务职业生涯规划书
  • 网站设计制作发展趋势wordpress添加本地视频
  • 公司网站用哪个软件做360极速浏览器网站开发缓存
  • 邯郸商城型网站建设网站的外链是怎么做的
  • 相应式网站数字营销案例100例
  • WordPress价格高低排序网络推广优化方法
  • 服务器网站80端口打不开百度移动端排名软件
  • 万网怎么建设网站如果做网站
  • 网站开发合同是否专属管辖学校网站建设如何分类
  • 启用中文域名大网站重庆五洲妇儿医院
  • 家用电器网站建设响应式网站开发demo
  • 新吴网站建设建设论坛网站自学
  • 中国建设银行巴黎分行网站安卓网站建站系统
  • 淘宝客网站怎么做seo大连专业网站设计服务商
  • 住房和城乡建设部网站准考证宁波做网站gs
  • 基础网站建设代码百度平台推广
  • 江苏省和城乡建设门户网站滕州 网站 建设
  • 网站创建需要多少钱网站设计编程有哪些
  • 柳州在哪里做网站erp合同管理系统
  • 家政公司网站建设天津市建设工程信息交易网
  • 网站开发合同模板简历制作网址
  • 做网站的域名怎样买wordpress做商城安全吗
  • 网站没有做的关键词有排名热 网站正在建设中
  • 临沂做网站的在哪里wordpress load.php
  • 领先的响应式网站建设平台图片制作教程
  • 中国建设银行数据管理部网站wordpress打赏积分功能
  • 英文网站建设公司南京网站官网建设
  • 百度帐号seo关键词搜索优化
  • 股票分析网站可以做推广吗软件生命周期七个阶段
  • 如何把做的网站发布到网上廊坊建筑模板厂家电话