Keil编译常见问题

2024-08-31 15:32
文章标签 编译 keil 常见问题

本文主要是介绍Keil编译常见问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.led的前后今生

1.出现warning:  #1-D: last line of file ends without a newline

解决方案:这是由于在函数的“}”之后没有回车的原因造成的,添加回车后,可消除警告。

2.出现main.c: Error: command-line:  #992: invalid macro definition: USE_STDPERIPH_DRIVER.STM32F10X_HD

解决方案:这是由于中间的逗号写错了,应该是英文的逗号。

3.出现main.c(2): warning:  #9-D: nested comment is not allowed

解决方案:这是注释嵌套的结果,不是程序本身的问题,对程序运行没有任何影响。

/*/**/去掉第二个/*可以消除警告

4.出现LED\led.c(33): error:  #20: identifier "GPIO_InitStructure" is undefined

解决方案:这是由于变量没有定义造成的,检查定义的变量是否写错,注意大小写GPIO_Initstructure。

5.出现main.c(21): warning:  #223-D: function "LED_GPIO_Config" declared implicitly

解决方案:是由于led.c中定义了一个函数,led.h中没有申明这个函数,只需要在led.h中申明了即可解决

2.SysTick

1.出现Delay\Delayus.c(14): error:  #20: identifier "TimingDelay" is undefined

解决方案;是由于delayus()中没有定义造成,定义静态变量static __IO u32 TimingDelay;即可解决

2.出现stm32f10x_it.c(143): warning:  #223-D: function "TimingDelay_Decrement" declared implicitly

解决方案:在stm32f10x_it.c文件中,外部声明extern void TimingDelay_Decrement(void);

3.KEY_POLLING

1.出现error:  #20: identifier "GPIO" is undefined?

解决方案:将GPIO InitTypeDef GPIO InitStructure;改成GPIO_InitTypeDef GPIO_InitStructure;

4.USART1

1.出现warning:  #177-D: variable "GPIO_InitSuructure" was declared but never referenced

解决方案:常常是函数书写错误,改成GPIO_InitStructure

2.error:  #20: identifier "USARTx" is undefined

解决方案:由于USARTx没有定义造成,首先检查第一次出现USART的位置.void USART1_printf(USART TypeDef* USARTx, uint8_t *Data,...)在定义结构体出错,改为void USART1_printf(USART_TypeDef* USARTx, uint8_t *Data,...)

3.出现usart1\usart1.c(129): error:  #20: identifier "va_list" is undefined

解决方案:va函数在头文件stdarg.h中,要使用其中的参数,必须包含此头文件#include "stdarg.h"

4.出现usart1\usart1.c(47): error:  #20: identifier "FILE" is undefined

解决方案;这是由于使用了重定向C函数,又没有包含该函数的头文件#include “stdio.h”,在usart.h中添加即可解决问题,还要在编译器中设置一个选项 Use MicroLIB (使用微库)。

这篇关于Keil编译常见问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1124303

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

Swagger在java中的运用及常见问题解决

《Swagger在java中的运用及常见问题解决》Swagger插件是一款深受Java开发者喜爱的工具,它在前后端分离的开发模式下发挥着重要作用,:本文主要介绍Swagger在java中的运用及常... 目录前言1. Swagger 的主要功能1.1 交互式 API 文档1.2 客户端 SDK 生成1.3

java连接opcua的常见问题及解决方法

《java连接opcua的常见问题及解决方法》本文将使用EclipseMilo作为示例库,演示如何在Java中使用匿名、用户名密码以及证书加密三种方式连接到OPCUA服务器,若需要使用其他SDK,原理... 目录一、前言二、准备工作三、匿名方式连接3.1 匿名方式简介3.2 示例代码四、用户名密码方式连接4

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、