
- UID
- 123452
- 性别
- 男
|
硬件使用jl8,将prm文件中ram和为一个,堆栈设为0x50。
1 在使用中定义了一个全局数组变量(7个成员),最后发现这个数组在ram中的位置直接影响到运行结果,即将这个数组定义在其他全局变量的前面运行的结果就不对,只有将此数组放在最后才能够正确运行。开始怀疑到是否堆栈不够(因为程序里使用了读写eeprom的程序),加大了堆栈到0x80,也还是不行。百思不得其解,于是只好将数组放在最后,暂时没有发现问题,但不知是为什么。
2 另外在调试的时候还有一个奇怪的现象。有一段程序都已能够正常运行,后来对这段程序进行了精简处理,去掉了程序中不用的变量及无用的代码,结果编译后的程序出现与前者不一样的结果。我的程序是用来测试485从节点通讯可靠性的,在使用不精简的程序时,与从机进行1000通讯没有发现任何问题,当使用精简程序后发现对从机进行1000通讯时,会有30多次从机未应答的现象,用示波器观察,从机还是给了回应,不知两次编译结果到底发生了什么变化。
以上我遇到的两个问题让我很困扰,请各位高手指教 |
|