0
我在ECM正常運行(使用gcc
編譯器,我們將生成hex文件並刷新它控制器)執行錯誤:C代碼部分編譯但沒有在ECM
有一個代碼x=(a+b)/2
,什麼都值爲a
和b
,但x
中的值始終爲零。
我有一個循環條件x
,這是導致我的ECM
重置。
任何想法是什麼問題?我曾嘗試
事情:
- 加入了一些冗餘的代碼只是上面 - >不值得,編譯器優化的
- 我懷疑編譯器的優化 - >因此具有看看組裝代碼,但這是沒有幫助的任何
- 作出的變量的全局(即私人前) - >出放是一樣的
你能否對我還有什麼可以嘗試一些輕?
這也是一個自動代碼(使用MATLAB
建模)。
什麼是「ECM」?你的代碼是什麼? 'a'和'b'的值是什麼? 'a','b'和'x'的類型是什麼? – 2013-05-09 06:33:20
需要更多的上下文。 @DKrueger的答案可能是對的,但它仍然是一個猜測(除非他知道關於MATLAB代碼生成的一些東西)。沒有編譯器優化時代碼是否工作?在這個問題上,DKrueger可能就是爲了錢。 – Clifford 2013-05-09 22:57:04