完善资料让更多小伙伴认识你,还能领取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; } 这样代码就可以顺利编译通过。 |
|
|
|
只有小组成员才能发言,加入小组>>
920 浏览 1 评论
552浏览 6评论
461浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
446浏览 5评论
447浏览 4评论
417浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 22:26 , Processed in 0.705567 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号