完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,
我在下面的函数中需要一个临时字符数组。我看到有一种新方法可以做到这一点,我决定尝试一下。当我使用 运行此代码时,我的传感器表现不佳。如果我改为运行 old -command 它会起作用。 是否有问题。 记录在这里 /Dick 代码:全选void secureRepublishPUSHOVER() { char *fname; static int8_t res = 99; for ( uint8_t i = 0; i < 3; i++ ) { //ESP.wdtFeed(); fname = savedSecureFileName(\"PO\"); if ( strlen(fname) ) { File f = SPIFFS.open( fname, \"r\" ); size_t fsize = f.size(); fsize = min( fsize, (size_t)1024); if ( fsize ) { //char *fcontent = new char[fsize + 1]; // works char *fcontent = arduino_newarray( char, fsize + 1); //makes the program behave strange if ( fcontent == NULL ) { log( 3, F(\"Gick inte att allokera minne i secureRepublishPUSHOVER(). Tog bort filen\") ); SPIFFS.remove(fname); return; } f.readBytes( fcontent, fsize ); f.close(); fcontent[fsize] = 0; //terminate text res = publishPUSHOVER ( MQTT_CLIENTID \" - RESEND\", fcontent, -1 ); delete [] fcontent; if (res == 1 ) { SPIFFS.remove(fname); } else log ( 2, p(\"secureRepublishPUSHOVER() res=%d\", res) ); return; } else f.close(); } } } char *savedSecureFileName (const char *directory) { uint32_t startTime = millis(); static char fname[32]; Dir dir = SPIFFS.openDir(directory); if (dir.next()) { if ( dir.fileSize() ) { dir.fileName().toCharArray(fname, sizeof(fname) - 1); if ( strstr(fname, \".secure\" ) ) { return fname; } } } fname[0] = 0; return fname; } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
140 浏览 0 评论
1158 浏览 1 评论
584浏览 6评论
480浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
465浏览 5评论
466浏览 4评论
441浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 07:13 , Processed in 0.768660 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号