欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 請教一個C語言的問題:函數放在不同文件里引起的問題 [打印本頁]

作者: pcf2000    時間: 2021-6-24 10:32
標題: 請教一個C語言的問題:函數放在不同文件里引起的問題
今天出現一個奇怪的問題,一個寫EEPROM的寫函數放在其他文件里調用會導致寫數據不成功。放在main函數里調用則可以寫進數據。這是什么意思,以前也遇到過類似的問題。。。。
看了一下編譯結果,也編譯進去,沒被優化啊

作者: 趙庚賡    時間: 2021-6-24 10:49
可以看看這個,http://www.cnblogs.com/lycstronger/p/4195559.html
作者: 黃youhui    時間: 2021-6-24 10:51
會不會是中斷導致時序錯亂,寫數據時把所有中斷關了。
作者: glinfei    時間: 2021-6-24 11:32
你寫不成功,是寫不了還是寫的不對?
寫的不對:就注意多個C文件編譯時,全局變量要加extern。
寫不了:可能是函數聲明問題。
如果其他方式解決的,別忘說一下咋解決的啊。
作者: ShadowOfNothing    時間: 2021-6-24 11:47
定義過的函數在其他文件使用要先引用聲明,就像使用memset()庫函數時 先用引用頭文件string.h
作者: ShadowOfNothing    時間: 2021-6-24 11:48
另外單片機內部的EEPROM,寫入前必須先擦除扇區才能寫入成功
作者: liuzx66    時間: 2021-6-24 14:19
函數聲明原型是不是匹配,同一個名字被多個函數使用
作者: pcf2000    時間: 2021-6-24 17:40
本帖最后由 pcf2000 于 2021-6-24 17:43 編輯
glinfei 發表于 2021-6-24 11:32
你寫不成功,是寫不了還是寫的不對?
寫的不對:就注意多個C文件編譯時,全局變量要加extern。
寫不了: ...

查找了一下原因,目前發現是,執行了讀數據操作,緊接著后面寫數據操作就不能寫進數據了;前面不執行讀數據操作,則后面可以寫進數據;但沒找到問題在哪里!
作者: pcf2000    時間: 2021-6-24 17:41
查找了一下原因,目前暫時發現是,執行了讀數據,緊接著后面寫數據就不能寫進數據,但沒找到問題在哪里!,有點奇怪
作者: pcf2000    時間: 2021-6-24 17:41
ShadowOfNothing 發表于 2021-6-24 11:48
另外單片機內部的EEPROM,寫入前必須先擦除扇區才能寫入成功

外部的EEPROM  IC
作者: 菇涼猶在    時間: 2021-6-24 18:03
那個調用的時候可以會因為你變量的設置原因,部分變量不能被用
作者: pcf2000    時間: 2021-6-25 10:11
菇涼猶在 發表于 2021-6-24 18:03
那個調用的時候可以會因為你變量的設置原因,部分變量不能被用

前面執行了一次讀數據操作,后面的寫數據操作就不成功,調試跟蹤了一下,發現是在寫數據操作過程,寫地址應答出錯退出了
做了一個這樣的測試,前面的讀數據操作執行2次,則后面寫數據就成功了,沒搞懂怎么回事,難道是時序有問題?!
作者: yzwzfyz    時間: 2021-6-25 14:24
先讀通EEPROM的操作原理。
作者: china_liu    時間: 2021-6-25 16:26
函數掉用子函數要放在同一個根目錄下,不然就會出現掉用錯誤




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1