你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
toofree 发表于 2018-7-31 22:08 上程序吧,在这里猜没意义。 很有可能是你的变量被优化掉了,之前有坛友遇到过这种问题。 一切以编译出来的 ...
wanyisq 发表于 2018-8-1 08:49 问题找到了,应该是内存溢出,导致有一些变量被清零了。把程序中定义的一些数组大小改小之后,就正常了。顺 ...
toofree 发表于 2018-8-1 09:20 把你的程序发上来。 如果是你所说的问题的话,可能还不能叫内存溢出。一般编译器会分配指定内存空间,编 ...
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
很有可能是你的变量被优化掉了,之前有坛友遇到过这种问题。
一切以编译出来的汇编代码为准。
要想不被优化,要么调低优化等级;要么,在变量定义加上 volatile 修饰
评分
查看全部评分
谢谢你 不过应该是RAM溢出导致有些变量清零了
大家有什么看法可以交流一下
结帖
评分
查看全部评分
把你的程序发上来。
如果是你所说的问题的话,可能还不能叫内存溢出。一般编译器会分配指定内存空间,编译时会自行判断内存够不够。如果内存不够,则编译出错。
内存溢出是指在使用的过程中,内存开销越来越大,只动态分配内存,而没有及时回收。
用数组也没问题,但如果把数组用指针方式使用,则需要用户自己判定界限。
代码就是上面这点,因为通讯模块需要发送字符串数据,所以要把flash里面存储的hex数据读出来,转换为字符串发送出去。问题解决就是把dest数组大小改成100、sour数组大小改的小点就没问题,程序正常执行,之前的全局变量也没有被清零。
帮我看看是不是怀疑的问题。
谢谢你
代码发上来了,请帮我看一下另外确定了问题在,程序运行到SendCharStr函数,声明了两个数组变量后,全局变量A就立马被清零了。
更改了两个数组大小后,再仿真,就没有这个问题了