主題:[求助]etr232i模塊問題 共有41339人關注過本帖 |
---|
客人 |
1樓 |
[求助]etr232i模塊問題 Post By:2013-7-1 11:03:00 [只看該作者]
使用BC編譯代碼,只要加入了etr_tcp.lib庫并引用etr_tcp.h頭文件,編譯必定出錯,錯誤信息為“ Segment _BSS exceeds 64K”/“區段超過64K限制”。
將“model”選項改成“huge”再編譯不會報錯,但程序運行不正常,請問英創工程師此問題如何解決?謝謝。 郵箱:12737579@qq.com |
|
單帖管理 | 引用 | 回復 |
x10 |
2樓 |
Post By:2013-7-1 15:37:00 [只看該作者]
ETR_TCP需要使用一定的靜態數據,這時應用程序能使用的靜態數據就要減少,修改方法是定義全局的數組指針,然后在init中進行動態分配, 例如 pBuffer = new unsigned char[256];等等,在退出應用程序是,使用delete pBuffer釋放存儲器空間。
|
|
單帖管理 | 引用 | 回復 |
x10 |
3樓 |
Post By:2013-7-1 15:38:00 [只看該作者]
在large模式下,總的靜態數據不能超過64KB。為了效率ETR_TCP.LIB只支持大模式。
|
|
單帖管理 | 引用 | 回復 |
客人 |
4樓 |
Post By:2013-7-2 10:01:00 [只看該作者]
果然如此。。。我嘗試移除一部分串口控制代碼,網絡功能就正常了,那我得把很多地方都修改一下了!
|
|
單帖管理 | 引用 | 回復 |
客人 |
5樓 |
Post By:2013-7-2 11:00:00 [只看該作者]
好像rs422x3.h/rs422x3.cpp文件也是貴公司提供?
如果串口和網絡一起加進程序,就會出現64k問題。我把rs422x3.cpp里的幾個大指針改成了far,問題解決。 |
|
單帖管理 | 引用 | 回復 |