完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
单片机使用malloc申请一块内存,申请是成功的,但是偏偏就有一个字节或者说1bit,没有办法写入1。比如赋值0xff,读取得到的是0xf7,写入0xf9,读取的是0xf1。很奇怪的,之前就没有遇到过,不知道是什么原因导致的? |
|
相关推荐
2个回答
|
|
不可能吧,代码发出来看看,有没有在其他平台测试对比下。
|
|
|
|
可能有以下原因导致单片机内存写入错误:
1.硬件故障:单片机的内存可能存在硬件故障,导致某个字节或者位无法正常写入。可以考虑更换单片机或者检查硬件故障。 2.栈溢出:当申请的内存超过单片机栈的容量时,会导致栈溢出,覆盖其他内存地址的内容。可以尝试减少申请的内存量或者使用动态分配内存的方法,如使用malloc。 3.内存地址错误:申请的内存地址可能错误,导致写入的值不是想要的地址。可以检查代码中的内存地址是否正确,或者使用调试工具来查看内存地址情况。 4.编译器优化问题:编译器可能会对代码进行优化,导致某些操作不按照预期执行。可以尝试关闭编译器优化或者优化级别降低来解决问题。 5.擦写操作问题:如果内存已经使用了一段时间,可能存在擦写操作不完全的情况,导致某个区域的内存无法正确写入。可以考虑擦写整个内存或者更换内存模块。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-TF卡烧录流程之烧写过程
1044 浏览 0 评论
1552 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之烧写原理
1304 浏览 0 评论
请问SPH0641LU4H这款麦克风如何在不使用I2S的情况下,单纯通过GPIO来进行驱动且正常读取数据呢
979 浏览 1 评论
576 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12096 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-3 03:28 , Processed in 0.419209 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号