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

相关文章

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文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

java面试常见问题之Hibernate总结

1  Hibernate的检索方式 Ø  导航对象图检索(根据已经加载的对象,导航到其他对象。) Ø  OID检索(按照对象的OID来检索对象。) Ø  HQL检索(使用面向对象的HQL查询语言。) Ø  QBC检索(使用QBC(Qurey By Criteria)API来检索对象。 QBC/QBE离线/在线) Ø  本地SQL检索(使用本地数据库的SQL查询语句。) 包括Hibern