c++ - 警告视为错误(可能在此函数中未初始化使用)
问题描述
我正在尝试为 ESP32 微控制器和传感器之间的 SPI 通信编写一些代码。我也为此使用了一个外部库。IDE 是 VScode 版本 1.59.1,并且正在使用 ESP-IDF Explorer 扩展来编译代码。
以下警告被视为日志给出的错误:
C:/Documents/XYZ/JKL/paths/esp-idf/components/SPIbus/src/SPIbus.cpp:209:12: error: '*((void*)& transaction +32)' may be used uninitialized in this function [-Werror=maybe-uninitialized]
rxdata = *(uint32_t*)transaction.rx_data;
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这里,transaction.rx_data 是一个 uint8_t 数组。我可以初始化数组以使错误消失,但随后 SPI 通信会产生无效值。
有人可以告诉我如何删除被读为错误的警告吗?任何帮助将不胜感激。
解决方案
推荐阅读
- blazor - 如何在 blazor webassembly MSAL 中处理多个资源的令牌
- python - 找出数学表达式中的所有变量
- node.js - 是否有任何技术原因可以避免 npm 中的自依赖本地依赖(文件引用)?
- r - 考虑插入符号中的技术复制
- spring-boot - 如何在spring boot中以dd-mm-yyy格式插入日期
- laravel-8 - API 端点是否可以返回多个模型(例如在前端配置创建/更新表单时)?
- java - Groovy - java同时进行多个转换
- flutter - 从后代小部件调用函数以触发滚动控制器
- microsoft-graph-api - 使用 Graph API 进行 SharePoint 备份
- reactjs - hasura graphql 查询中的特殊字符