首页 > 解决方案 > 警告视为错误(可能在此函数中未初始化使用)

问题描述

我正在尝试为 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 通信会产生无效值。

有人可以告诉我如何删除被读为错误的警告吗?任何帮助将不胜感激。

标签: c++visual-studio-codeesp32esp-idf

解决方案


推荐阅读