IAR for msp430 MDK中 warning: #223-D: function "xxx" declared implicitly 解決方法


今天在EINT的范例里添加了一個函數,即eint.c中添加了一個datawrite()的函數,並在主函數main.c中調用,編譯便警告

warning: #223-D: function "datawrite()" declared implicitly

很奇怪,在eint.c中也有初始化函數EINTInit()同樣在main.c中調用沒有問題,問什么偏偏這個不行。

 

但畢竟是個警告,還不是錯誤,做了個測試IO,

while(1)
  {
    FIO1SET = 1<<19;
   delaySysTick(10);
   Data_write(0xff00, 0xff);
   FIO1CLR = 1<<19;
   delaySysTick(10);
  }

下載執行后發現,此IO根本沒有輸出。

 

看來這個警告還是不能回避的,在網上差了下,有類似問題說是庫的原因,具體是什么也沒說清楚。於是嘗試着一一打開庫文件,打開eint.h,恍然大悟,這里赫然寫着

extern void EINT0_IRQHandler(void) __irq;
extern DWORD EINTInit( void );

 

原來在這里將eint.c中的函數與main.c相關聯,也就是在eint.c中添加了新函數,還有在這里聲明調用才行。

eint.h中,添加

extern void Data_write(WORD addr, BYTE data);

即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM