keil5调试代码常见的警告与错误整理

2023-11-07

1.warning: #1295-D: Deprecated declaration run_c - give arg types

void run_c();//原函数
void run_c(void);//改正后

对比前面声明的函数,发现是括号少了一个void,因为我的函数是不带参的,不加void会有警告的,往括号里加了void之后,重新编译之后警告消失。

2.warning: #940-D: missing return statement at end of non-void function "Gray_Delay_Run40"

int Gray_Delay_Run40(u16 i)//原函数
{
	while(i -- )
	{
		delay_ms(1);
		Gray_Run40();
	}
}

int Gray_Delay_Run40(u16 i)//改正1
{
	while(i -- )
	{
		delay_ms(1);
		Gray_Run40();
	}
    return 0;
}

void Gray_Delay_Run40(u16 i)//改正2
{
	while(i -- )
	{
		delay_ms(1);
		Gray_Run40();
	}
}

因为我函数是int型的,是需要有返回值,但是我没有return,加入return 0;之后重新编译警告消失。或者直接把int改成void,同样编译后警告消失。

3.warning: #177-D: variable "a" was declared but never referenced

s32 a =	50;//原函数
//s32 a = 50;//改正后

因为我定义了一个变量准备在后面用到,但是后面直接用数字代替了,没有用到,将这个变量注释后,重新编译警告消失。

4.warning: #177-D: function "Delayms" was declared but never referenced 

static void Delayms(u16 i)
{
    ...
}

//static void Delayms(u16 i)    //改正后
//{
//    ...
//}

这里和第3个错误差不多,因为我定义了一个函数准备在后面用到,但是后面没有用到,将这个函数注释后,重新编译警告消失。

5.warning: #128-D: loop is not reachable
这个警告的意思是我无法跳出这个循环,我跳到这行看,发现的确少了一个break,加入之后重新编译,警告消失!

6.error: At end of source: #67: expected a "}"
这个错误很明显,就是说少了一个括号,因为是一部分一部分调试的,调试完一部分注释,最后全部恢复优化,就报了这个错误,至于在哪里不知道,因为一点错误直接跳转到最后一行,但是这个循环里面有上千条代码,一条一条慢慢过去找不现实。解决办法是二分法查找,先注释上半部分代码,没了错误,那肯定就是在上半部分少了"}",继续二分法,最后几十行看看就知道错在哪里了,加上括号,重新编译错误解决!
  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

keil5调试代码常见的警告与错误整理 的相关文章

随机推荐

  • 云服务器 生物信息学,云服务器 生物信息学

    云服务器 生物信息学 内容精选 换一换 挂载有NVMe SSD盘的Linux弹性云服务器 如P1型云服务器 发生故障时 需联系管理员通过异地重建的方式进行恢复 新建故障弹性云服务器 如果故障弹性云服务器在 etc fstab中设置了NVMe
  • Ant Design 实现图片上传及预览

    Ant Design 实现多图片上传及预览 1 先看效果 2 前端实现方式 1 在代码中添加
  • Megatron-LM:Transformer模型专用分布式张量模型并行方法

    论文标题 Megatron LM Training Multi Billion Parameter Language Models Using Model Parallelism 论文链接 https arxiv org abs 1909
  • 最新某条_signature破解

    今天给大家带来某头条的 signature签名破解 目标URL aHR0cHM6Ly93d3cudG91dGlhby5jb20v 用base64解密得到 图1 1 在推荐模块 这就是我们想要抓取的内容 X条的是下拉XHR请求 所以 抓包看一
  • TCP/IP详解 卷1:协议 学习笔记 第二十八章 SMTP:简单邮件传送协议

    用户与用户代理打交道 有多个用户代理可供选择 Unix上常用用户代理包括MH Berkeley Mail Elm Mush 用TCP进行邮件交换是由报文传送代理MTA Message Transfer Agent 完成的 最普通的Unix系
  • C++(17):获取启动程序的路径

    C 17的filesystem提供了current path可以获得启动程序的目录 include
  • 幂方分解

    问题描述 任何一个正整数都可以用2的幂次方表示 例如 137 27 23 20 同时约定方次用括号来表示 即ab 可表示为a b 由此可知 137可表示为 2 7 2 3 2 0 进一步 7 22 2 20 21用2表示 3 2 20 所以
  • ESP32-搭建可能遇到的问题以及解决方法

    一 安装过程中出现ESP32 TOOLS espressif tools idf python 3 8 7 python exe m pip is not valid ERROR INVALID PIP 解决方法 1 找到报错位置的路径 例
  • ESP8266的使用

    本次博客知识来自于韦东山老师的7天物联网课程 一 预期功能 运用ESP8266模块 使单片机与手机微信的小程序进行通信 实现手机控制LED的亮灭 并且 单片机可以远程控制微信小程序中模拟的门铃开启和关闭 二 硬件设置 本次实验采用STM32
  • c# 中MD5.ComputeHash() aes加密,在Java和golang中的实现

    类似移植C 代码需求 需要加密效果一致 C 中使用了AesCryptoServiceProvider加密 文档链接 AesCryptoServiceProvider 类 下载里面代码在Visul Studio2019中可以针对原加密字符解密
  • vue/cli引入element ui 失败

    在创建好了vue脚手架后 安装了vue cli plugin element插件 然后运行 发现报错 这是element js文件里的代码 这是main js文件里的代码 这是报错 解决方法1 把import Vue from vue 改为
  • 云计算的未来——云计算核心技术

    我们正在经历着一个前所未有的变革时代 信息技术的不断创新也推动着各行业的业务创新 任何规模和类型的组织都需要拥抱最新的 IT 趋势才能保持竞争力与创新力 并关注自身的业务 越来越多的企业将关键运营机制建立在 IT 基础结构之上 从 CIO
  • FolderBrowserDialog提示用户选择文件夹滴

    示例 using FolderBrowserDialog dialog new FolderBrowserDialog dialog Description 请选择存放音乐的文件夹 dialog ShowNewFolderButton fa
  • vite入坑之路:react+vite动态导入报错@vite-ignore的解决方法

    正常的动态组件导入方式 webpack搭建的项目 不管是react还是vue通常引入动态组件基本这么写 const url import pages locale vite不支持 or const url import pages loca
  • 免费的mathematica

    这里说的不是破解版 而是mathematica官方推出的免费版 没有笔记本界面等一些功能 可以在命令行使用 不过可以配置jupyter使用啊 安装 直接按照官方的提示安装就好了 http support wolfram com kb 460
  • 数据库核心

    package com example moni tab import android content ContentValues import android database Cursor import android database
  • taro不同的项目中使用不同版本的taro-cli

    这里写目录标题 preface 解决方案 1 局部安装 tarojs cli 2 测试 局部是否可以使用 tarojs cli preface 我有两个 taro 项目 写的时间前后差距半年多了 现在 taro 版本不一致 分别是 1 3
  • WTL 界面设计篇(CSkinDialog)

    头文件声明 CSkinDialog h pragma once include
  • Yolov5 优化,包括Yolov8 c2f模块

    目录 各种技巧实战测试 decouple head yolo中添加 Yolov5 Yolov7加入Yolov8 c2f模块 小目标涨点 1 加入backbone 2 加入head 各种技巧实战测试 基于Yolov5的道路缺陷识别 加入CVP
  • keil5调试代码常见的警告与错误整理

    1 warning 1295 D Deprecated declaration run c give arg types void run c 原函数 void run c void 改正后 对比前面声明的函数 发现是括号少了一个void