完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我正在尝试编译这段代码:
代码:全选byte tx_buf[BUF_L]; unsigned int tx_buf_start,tx_buf_end=0; WiFiClient client; size_t tx_buf_send() { if (client.connected() && (tx_buf_start!=tx_buf_end)) { unsigned int end = (tx_buf_start= BUF_L) { tx_buf_start = 0; written_again = client.write(tx_buf,tx_buf_end); tx_buf_start+=written_again; } return written+written_again; } else return 0; } 编译错误是: 在 /home/manu/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/ESP8266WiFi.h:39:0 中包含的文件中, 来自 /home/manu/Arduino /huzzah_as_wifi_serial/huzzah_as_wifi_serial.ino:1:/home/manu/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/WiFiClient.h : 在'size_t WiFiClient::write(T& , size_t) [with T = unsigned char [512]; size_t = unsigned int]': /home/manu/Arduino/huzzah_as_wifi_serial/huzzah_as_wifi_serial.ino:75:53: 从这里需要 /home/manu/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi /src/WiFiClient.h:123:36: 错误:请求'source'中的成员'available',它是非类类型'unsigned char [512]' size_t left = source.available(); ^ /home/manu/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src/WiFiClient.h:127:5: error: request for member 'read' in 'source', 这是非类类型 'unsigned char [512]' source.read(buffer.get(), will_send); 这是在 arduino-1.6.12 中编译的。我尝试了几次转换以强制 gcc 使用 WiFiClient::write(const uint8_t *buf, size_t size); 方法而不是给出编译器错误的模板版本,因为我已经看到它应该修复编译器错误而没有运气。 我在这里错过了什么? |
|
相关推荐
1个回答
|
|
|
该段代码错误的原因可能是缺少引用头文件。需要引入WiFiClient.h头文件。
可以在代码前添加以下语句: #include 如果还是存在错误,可以尝试修改下面这部分代码: unsigned int end = (tx_buf_start+BUF_LEN)%BUF_SIZE; 将BUF_L改为BUF_LEN,同时将BUF_SIZE设为tx_buf数组的大小,即: #define BUF_SIZE 64 也可以将代码块改为: if (client.connected() && (tx_buf_start!=tx_buf_end)) { unsigned int send_len = (tx_buf_start < tx_buf_end) ?(tx_buf_end - tx_buf_start):(BUF_SIZE - tx_buf_start); int written_again = client.write(tx_buf+tx_buf_start,send_len); tx_buf_start = (tx_buf_start + written_again) % BUF_SIZE; } 这样代码就可以顺利编译通过。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
945 浏览 0 评论
1672 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5021 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1253浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2338浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2527浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1052浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:37 , Processed in 0.593081 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2337
