Keil中编译无error(有warning),但程序无法运行的一种情况

问题

void Run_Led(void)
{
	HAL_GPIO_TogglePin(RUN_LED_GPIO_Port, RUN_LED_Pin);
	Delay_ms(500);
}

void StartDefaultTask(void *argument)
{
  /* USER CODE BEGIN StartDefaultTask */
	char c;
  /* Infinite loop */
  for(;;)
  {
	  while(1)	  
	  {	
		 Run_Led;
	  }
	  ...
  }

非常简单的一个程序,实现LED周期为500ms的闪烁。编译时没有error,只有4个warning。
一般都会直接忽略warning嘛(现在看来这是个非常不好的习惯)。
但是程序运行时板子上看不到LED在闪烁,很奇怪。

解答

在keil中进行调试,执行到Run_Led了,依然看不到LED在闪烁,单步运行试试,
哎!发现问题了,单步运行根本进不去Run_Led这个函数。
跳转到Run_Led定义看看,没问题啊,可以跳转过去;再回头看看while(1)中的程序,不对!Run_Led是个函数啊(又不是宏定义。。。),调用格式应该是Run_Led()才对。
于是改正,程序正常执行。

void Run_Led(void)
{
	HAL_GPIO_TogglePin(RUN_LED_GPIO_Port, RUN_LED_Pin);
	Delay_ms(500);
}

void StartDefaultTask(void *argument)
{
  /* USER CODE BEGIN StartDefaultTask */
	char c;
  /* Infinite loop */
  for(;;)
  {
	  while(1)	  
	  {	
		 Run_Led();
	  }
	  ...
  }

后续

虽然问题解决了,但还是得搞清楚一点:程序明明是有问题的,编译器为啥没有报错呢??
将程序改回错误的格式,再次编译,这次发现问题了:
在这里插入图片描述
编译器是有warning的。
以后得注意,不能总是忽略warning。
warning也有可能导致程序运行失败。

一个小错误,记录下来。防止再犯

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/566441.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows10环境下conda迁移到linux环境

网上给出的方案错误百出,记录一下正确方案。 1 创建yaml文件 创建到终端所在路径下 conda activate 环境名 conda env export --no-build >环境名.yaml2 新操作系统中创建新的conda环境 conda env create -f 环境名.yaml3 删除不兼容的包 终端报错 Could n…

垃圾焚烧发电:从国资到专业公司,运营模式新变革|中联环保圈

近日,云南富源县生活垃圾焚烧发电项目运营管理技术服务招标引发广泛关注,与此同时,众多垃圾焚烧发电项目也纷纷启动了运管工作的招标。值得注意的是这些项目的招标人均为当地国资,且其中多数缺乏项目的运营经验。 在垃圾焚烧发电行…

Spring Boot 中Mybatis使用Like的使用方式和注意点

说明 模糊查询在项目中还是经常使用的,本文就简单整理Mybatis中使用Like进行模糊查询的几种写法以及一些常见的问题。 使用Springboot简单配置一下Mybatis,然后进行说明。Springboot集成Mybatis这里就不做介绍了,这里我们主要介绍一下在mybat…

物理隔离条件下的数据安全导入导出方案,哪种最安全可控?

数据安全在当今信息化社会中扮演着至关重要的角色,尤其像政府、军工等单位,有比较多的核心数据要保护,一旦出现数据泄漏,将造成不可估量的后果。因此为了保护数据安全,政府、军工等单位一般会采取纯物理隔离&#xff0…

离散型制造行业智能工厂解决方案,助力国家新智产业升级

离散型制造行业智能工厂标准解决方案 离散型制造行业的智能工厂解决方案是推动国家智能制造产业升级的关键。 1. 集中优势资源:实施攻关计划,瞄准关键核心技术和重点产业进行定向突破,特别是在集成电路(IC)、AI、生物医药等领域。2. 国家创…

CentOS 7虚拟机配置静态IP地址(一)

IP地址的配置 以下几个地址需要记住,在配置中使用 (1)查看MAC地址(点击菜单虚拟机-设置-网络适配器-高级-记住MAC地址) (2)查看子网掩码和网关IP(点击菜单编辑-虚拟网络编辑器-选择…

Rust入门-所有权

一、为什么、是什么、怎么用 1、为什么Rust要提出一个所有权和借用的概念 所有的程序都必须和计算机内存打交道,如何从内存中申请空间来存放程序的运行内容,如何在不需要的时候释放这些空间,成为所有编程语言设计的难点之一。 主要分为三种…

MemFire解决方案-政企数据库云服务解决方案

方案背景 随着越来越多的政府部门/企事业单位完成数字化转型升级,新技术的应用日益普遍,对系统并发服务能力的需求不断提高。办公OA、档案、门户、监控、财务、ERP、订单等各类系统对数据库的要求越来越苛刻,很多企业/政府部门都面临如下挑战…

Unity的Animator Animation的使用攻略

Animator 动画控制器 Animation 动画 动画片段 .anin 一、创建Animator 创建动画控制器 模型添加Animator组件 把控制器和模型绑定 二、创建动画 进入动画界面 创建动画片段anin 动画窗口分析 制作动画 点击录制, 移动子对象,在视窗 通过移动线来编辑关…

第53篇:算法的硬件实现<四>

Q:本期我们在DE2-115开发板上实现二进制搜索算法电路,查找数据A在数组中的位置。 A:使用SW[9]设定开始查找信号,数据A由SW[7:0]设定,KEY[0]设定为复位信号,板载50MHz时钟作为电路的时钟输入,确…

Python | Leetcode Python题解之第44题通配符匹配

题目: 题解: class Solution:def isMatch(self, s: str, p: str) -> bool:def allStars(st: str, left: int, right: int) -> bool:return all(st[i] * for i in range(left, right))def charMatch(u: str, v: str) -> bool:return u v or v…

1125页Go语言技术手册,涵盖Go语言所有核心知识点,限时免费下载!

从Docker的兴起,到Kubernetes的冲击,让Go语言在后端的地位,尤其在偏中高级业务需求(对性能、代码质量、架构设计等)中已经不可撼动。后端开发工程师逐渐开始对Go语言产生兴趣,无论是擅长何种语言的后端工程师,个人认为…

德思特车载天线方案:打造智能互联的公共安全交通网络

作者介绍 一、方案介绍 随着自动驾驶与智慧汽车概念的逐步推进,人们对汽车的交互性、智能性、互联性有了更高的要求。今天,大多数汽车制造商和供应商普遍将GNSS定位功能与其他信号如广播、电视、蓝牙、Wifi一起集成到汽车中,包括博世、大陆、…

泽攸科普——扫描电子显微镜(SEM)全攻略:轻轻松松搞定形貌特征

在科学的殿堂里,有一台神奇的仪器,它能将我们的视野拓展到难以想象的微观尺度,让我们得以窥探那些肉眼无法捕捉的精妙结构和隐秘细节。这台仪器就是扫描电子显微镜(Scanning Electron Microscope, SEM)。它犹如一双洞察…

车灯专用方案12V24V36V48V转9V/12V 线性恒流H7306

电流控制:为了保持输出电流的恒定,转换器使用一种称为恒流控制的技术。恒流控制通常通过测量输出电流并与一个参考电流进行比较来实现。如果输出电流超过参考电流,控制电路将调整输出电压或电流,以降低输出电流至所需的恒定值。 …

2023年蓝桥杯C++A组第三题:更小的数(双指针暴力遍历解法)

题目描述 小蓝有一个长度均为 n 且仅由数字字符 0 ∼ 9 组成的字符串,下标从 0 到 n − 1,你可以将其视作是一个具有 n 位的十进制数字 num,小蓝可以从 num 中选出一段连续的子串并将子串进行反转,最多反转一次。小蓝想要将选出的…

云盘怎么选最好!

选择云盘时,您应该考虑以下几个关键因素来确保选中最适合您需求的服务: 速度:选择云盘时,传输速度是一个重要的考量点。您应该选择一个即使不使用会员服务也能提供较快上传和下载速度的云盘服务。 存储空间:不同的云盘…

Ardupilot OpenIPC 基于WFB-NG构架分析和数据链路思考

Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考 1. 源由2. OpenIPC安装2.1 安装2.2 配置2.2.1 天空端配置文件2.2.2 地面端配置文件 2.3 当前配置选择 3. WFB-NG安装3.1 RTL8812AU安装3.1.1 驱动安装3.1.2 定位设备 3.2 wfb-ng安装3.2.1 传输层安装3.2.2 配置…

WordPress social-warfare插件XSS和RCE漏洞【CVE-2019-9978】

WordPress social-warfare插件XSS和RCE漏洞 ~~ 漏洞编号 : CVE-2019-9978 影响版本 : WordPress social-warfare < 3.5.3 漏洞描述 : WordPress是一套使用PHP语言开发的博客平台&#xff0c;该平台支持在PHP和MySQL的服务器上架设个人博客网站。social-warfare plugin是使用…

Kimi Chat四大更新详细解读!模型能力提升,支持语音输入输出!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…
最新文章