vsCode开发STM32设置头文件宏定义

2023-11-19

一、问题描述

使用 HAL 库新建 STM32 工程后,使用 vsCode 打开工程文件夹,会提示找不到头文件,以及比变量没有定义,如 uint32_t 不是一个有效类型等错误提示。如下图所示:
在这里插入图片描述

二、原因分析

vsCode 中没有配置头文件路径以及没有设置 HAL 使用的相关宏定义

三、解决方法

打开 C/C++ 扩展 UI 配置界面,配置头文件路径以及宏定义
在这里插入图片描述
如上图所示,在包含路径中,配置如下:

${workspaceFolder}/**
// 下述两个文件路径为 keil5 的安装路径,根据实际安装位置修改
D:\Keil_v5\ARM\ARMCC\include 
D:\Keil_v5\Packs\ARM\CMSIS\5.7.0\CMSIS\Include

在定义中,新增如下配置:

// 我使用的 keil5 和 STM32F767,所以选择如下配置
__CC_ARM
STM32F767xx
USE_HAL_DRIVER

配置完成后,vsCode 就能正确提示了
在这里插入图片描述
当然也可以直接配置c_cpp_properties.json文件,

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${default}",
                "${workspaceFolder}/**",
                "D:\\Keil_v5\\ARM\\ARMCC\\include",
                "D:\\Keil_v5\\Packs\\ARM\\CMSIS\\5.7.0\\CMSIS\\Include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "__CC_ARM",
                "STM32F767xx",
                "USE_HAL_DRIVER"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30037/bin/Hostx64/x64/cl.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-msvc-x64"
        }
    ],
    "version": 4
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vsCode开发STM32设置头文件宏定义 的相关文章

  • K8S暴露端口-dubbo应用远程Debug

    1 Dockerfile增加环境变量 ENV JAVA OPTS Xdebug Xrunjdwp transport dt socket address 9901 server y suspend n 2 暴露端口 template ser
  • Spring的两种IOC容器

    文章目录 Spring IOC容器 BeanFactory 怎样创建BeanFactory BeanFactory中的方法 ApplicationContext 几种ApplicationContext 如何创建ApplicationCon

随机推荐

  • 安装batocera-linux教程_batocera游戏系统,一个U盘搞定所有模拟器

    本帖最后由 仙鬼同拥 于 2020 5 10 09 57 编辑 去年有人发过一个求助帖找这个模拟器系统 今天有人私信说链接打不开了 就自己开一贴说一下下载安装过程吧 原求助帖地址https www 52pojie cn thread 994
  • STM32 高级定时器周期、频率、占空比、对外输出电压详解

    STM32 高级定时器 最近在研究电机 对TIM定时器研究了一些 将一些存在疑惑的问题 通过试验和示波器分析 得到以下结论 供大家学习参考 1 介绍输出电压高低判断 输出比较时 OC1对外输出电压为示波器可以读取的电压 也是我们最终使用的电
  • c语言 凯撒加密

    为了防止信息被别人轻易窃取 需要把电码明文通过加密方式变换成为密文 输入一个以回车符为结束标志的字符串 少于80个字符 再输入一个整数offset 用凯撒密码将其加密后输出 恺撒密码是一种简单的替换加密技术 将明文中的所有字母都在字母表上偏
  • 解决Docker容器中Mysql中文乱码问题

    进入容器 修改 etc mysql my cnf 添加如下配置 client port 3306 socket var lib mysql mysql sock default character set utf8 mysqld port
  • Microsoft Office 2010安装

    哈喽 大家好 今天一起学习的是office2010的安装 有兴趣的小伙伴也可以来一起试试手 一 测试演示参数 演示操作系统 Windows 7 不建议win10及以上操作系统使用 系统类型 64位 演示版本 SW DVD5 Office P
  • python库Camelot从pdf抽取表格数据以及python库camelot安装及使用中的一些注意事项

    一 python库camelot安装及使用中的一些注意事项 1 camelot方法有两种解析模式 流解析 stream 格子解析 lattice 其中格子解析能够保留表格完整的样式 对于复杂表格来说要优于流解析模式 同时 camelot方法
  • word2016怎么显示修改痕迹

    写需求文档时 想保留每次和产品沟通后修改的痕迹 避免扯皮 这就使用到了 word的审阅功能 1 点击 审阅 点击图中1的图片 点击高级选项进行修改内容的标记设置
  • 2022.04.11【读书笔记】

    文章目录 摘要 研究意义 转录组学意义 技术比较 研究方法 细胞筛选 文库构建 测序 实验方法 实验流程 常见问题 分析内容 重点 分析内容总览 细胞亚群分类 细胞类型频率统计 Marker基因分析 富集分析 样本差异分析 逆时分析 WGC
  • Java查询Mysql数据库时区问题(相差13/14)个小时

    一 CST GMT UTC 1 1 CST 这个代号缩写 并不是一个统一标准 目前 可以同时代表如下 4 个不同版本的时区概念 China Standard Time 中国标准时区 UTC 8 Cuba Standard Time 古巴标准
  • JAVA 泛型中的 的应用场景

    在JAVA 泛型中 经常看到
  • 《市场调查与分析》:在校大学生对微信小程序的使用情况

    目录 一 研究背景和目的 1 1调查背景 1 2调查目的 二 调查内容 三 调查方式 四 调查对象及范围 五 抽样设计 六 调查问卷 七 调查分析 7 1问卷数据 7 2问卷信度效度分析 7 3调查基本情况 八 调查结论 8 1小程序的使用
  • 【Python基础】Python中读取图片的6种方式

    Python进行图片处理 第一步就是读取图片 这里给大家整理了6种图片的读取方式 并将读取的图片装换成numpy ndarray 格式 首先需要准备一张照片 假如你有女朋友的话 可以用女朋友的 没有的话 那还学啥Python 赶紧找对象去吧
  • html修改display属性的值,web开发设计--JS的innerHTML/display属性

    1 innerHTML 属性 innerHTML 属性用于获取或替换 HTML 元素的内容 语法 Object innerHTML 注意 1 Object是获取的元素对象 如通过document getElementById ID 获取的元
  • 获取多选下拉框(select标签设置multiple属性)的值

  • 给elasticsearch设置密码

    1 在elasticsearch yml中添加如下配置 xpack security enabled true xpack license self generated type basic xpack security transprt
  • Redis 缓存穿透、缓存击穿和缓存雪崩

    目录 Redis 缓存穿透 缓存击穿和缓存雪崩 Redis 缓存穿透 查不到 Redis缓存穿透的解决方案 方案一 接口校验 方案二 缓存空对象 方案三 布隆过滤器 Redis 缓存击穿 Redis 缓存击穿的解决方案 Redis 缓存雪崩
  • 数据库系统原理——ER模型与关系模型

    犹记得第一次看 数据库系统原理 时看天书的感觉 云里雾里 现在已经是第二次参阅这本书了 顿时有所感悟 哦 原来是这样 现在呢 开窍了一点 写下来且当作为笔记 ER模型 ER模型的基本元素是 实体 联系和属性 实体 是一个数据对象 指应用中可
  • 第19课 微信小程序安装使用mpvue脚手架

    第19课 微信小程序安装使用mpvue脚手架 详情地址 http mpvue com mpvue quickstart 安装前检查环境 安装脚手架之前需要电脑已安装node与npm 首先按住 shift 鼠标右键 按下 在此处打开命令行窗口
  • 关于Redis数据过期策略

    1 Redis中key的的过期时间 通过EXPIRE key seconds命令来设置数据的过期时间 返回1表明设置成功 返回0表明key不存在或者不能成功设置过期时间 在key上设置了过期时间后key将在指定的秒数后被自动删除 被指定了过
  • vsCode开发STM32设置头文件宏定义

    一 问题描述 使用 HAL 库新建 STM32 工程后 使用 vsCode 打开工程文件夹 会提示找不到头文件 以及比变量没有定义 如 uint32 t 不是一个有效类型等错误提示 如下图所示 二 原因分析 vsCode 中没有配置头文件路