完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我刚才使用 STM32CubeIde 基于cube库测试了下,可以正常输入输出的。
测试代码如下,很简单。 uint8_t buf15]; sscanf("123456TESTn", "%s", buf); printf("%srn", buf); sscanf("123456abcdedfBCDEF", "%1-9a-z]", buf); printf("%srn", buf); 我测试是可以的。 |
|
|
|
使用 '-specs=nano.specs' 选项时,会链接使用新libnano.a库,替代了原来的libc.a,而libnano.a会对编译的库进行尺寸优化,包括一些内存管理方面的减少。sscanf在使用 '-specs=nano.specs' 选项时,返回值可能会出现错误,是因为该函数在读取字符串时,需要动态分配内存来存放读取的结果。使用libnano.a库中的版本进行编译时,可能会发生内存分配不足,导致返回值错误。
另外,当使用标准c库时,返回值正确但发生内存溢出问题,可能是因为你使用了太多的内存,超过了开发板的可用内存大小。这可能会导致内存溢出,破坏其他数据或引发其他错误。 为了解决问题,你可以尝试以下几点: 1. 尝试使用 '-specs=nosys.specs' 选项,该选项使用标准libc.a库,而不是libnano.a库,可能会解决sscanf返回值错误的问题。 2. 针对内存溢出问题,你可以检查是否有其他地方也在使用过多的内存。可以考虑使用动态内存分配函数(如malloc)来管理内存,确保分配的大小合适并及时释放内存。 3. 对代码进行逐步调试,定位到内存溢出问题发生的具体位置。可以使用调试工具(如GDB)来单步调试程序,监视变量的值,查找内存溢出的原因。 4. 如果仍然无法解决问题,可以考虑修改代码逻辑,减少内存使用量,优化代码结构,提高内存利用率。 最后,确保你的开发板设置正确,并且你的代码和库版本是兼容的,可以参考开发板和库的文档或官方论坛以获取更多的支持和指导。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1754 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1613 浏览 1 评论
1053 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1667 浏览 2 评论
1931浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
718浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
562浏览 3评论
587浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
546浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 16:48 , Processed in 0.764577 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号