Zeit_Kontrolle 2024-05-29 11:15 采纳率: 50%
浏览 2
已结题

问题咨询:在学习GT9147触摸屏驱动中出现了问题,具体情况如下

img

img


如上图所示,在GT9147的c语言程序中,vscode一直显示(结构 "_gpio_pin_config" 没有字段 "interruptMode"),但是在GPIO的头文件里,我明确定义了这个枚举类型。我已经查找过很多次,甚至直接复制源代码(来自正点原子I.MUX6ULL嵌入式开发学习),但依然没有用,vscode还是会显示这个错误。整个GPIO中断触发类型枚举似乎都不能在_gpio_pin_config结构体中被检测到,例如上图中kGPIO_NoIntmode字段,显示为未定义标识符。

img


补充一点,这个错误并不会影响后续的编译,我把vscode中的波浪线错误提示禁用之后,编译程序是成功的且生成了目标bin文件。

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-29 11:15
    关注

    引自免费微信小程序:皆我百晓生

    看起来你在尝试使用GT9147触摸屏驱动时遇到了一些编译错误。根据你提供的信息,问题可能在于 _gpio_pin_config 结构体和 gpio_interrupt_mode_t 枚举类型的定义不匹配,或者是在包含枚举定义的头文件时存在问题。首先,确保你正确包含了定义枚举类型的头文件,并且在正确的命名空间或作用域内引用这些类型。其次,检查是否存在拼写错误或大小写不一致的情况。另外,还要确认所有相关的头文件都被正确地#include进你的代码中。

    为了提供一个详细的解决方案,我将假设你的项目已经正确包含了枚举类型定义的头文件。这里是修复这个问题的一种方法:

    1. 确保在包含枚举定义的头文件之前包含了结构体定义的头文件,例如:
    #include "your_gpio_header.h" // 包含结构体定义的头文件
    #include "your_gpio_int_header.h" // 包含枚举定义的头文件
    
    // 然后是你的代码
    
    1. 检查 _gpio_pin_config 结构体定义是否与你提供的枚举类型匹配。根据你提供的枚举类型定义,结构体应该如下所示:
    typedef struct _gpio_pin_config
    {
        gpio_pin_direction_t direction;
        gpio_interrupt_mode_t interruptMode;
        uint8_t outputLogic;
    } gpio_pin_config_t;
    
    1. 如果你的代码中确实像你展示的那样,那么应该是VSCode的语法检查错误或者是IDE的问题。尝试清理缓存、重启VSCode,或者更新VSCode插件以消除语法检查的误报。

    2. 如果以上步骤都无法解决问题,试着将枚举值替换为对应的整数值,看看编译器是否能通过。例如,将 kGPIO_NoIntmode 替换为 0,然后重新编译:

    ctintpin_config.interruptMode = 0; // 替换为 kGPIO_NoIntmode 的整数值
    

    如果你仍然遇到问题,建议检查一下其他部分的代码,确保没有其他的语法错误或者遗漏的头文件。如果问题仍然存在,可能需要查看更详细的上下文,或者联系正点原子技术支持获取帮助。

    记住,有时候IDE的语法检查可能会出错,而实际编译可能不会有问题。在这种情况下,可以尝试编译整个工程来看看是否有真正的编译错误。如果还有疑问,随时告诉我,我会尽力帮助你。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月6日
  • 已采纳回答 5月29日
  • 修改了问题 5月29日
  • 创建了问题 5月29日

悬赏问题

  • ¥15 配置hadoop时start-all.sh老是启动失败
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题
  • ¥15 Fluent,液体进入旋转区域体积分数不连续
  • ¥15 java linux下将docx文件转pdf