例程中给出的是在CCS开发环境中的。因为win7 64bit的系统的原因,不好安装ccs就利用虚拟机中的IAR进行编写MSP430F5529的程序。
程序很简单,我只想调用例程中普通函数实现led灯的控制,不想直接对430 I/O口操作,就想调用函数。
#include <msp430f5529.h>
#include"HAL_Board.h"
int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
Board_init();
Board_ledOn(LED1+LED2);
while(1);
return 0;
}
把HAL_Board.h文件添加进来之后,又根据网上的说法,HAL_Board.c添加进去,结果编译通过,链接时总是说
Error[e46]: Undefined external "Board_init()" referred in main ( C:\workspace\MSP430\test5529\Debug\Obj\main.r43 )
Error[e46]: Undefined external "Board_ledOn(uint8_t)" referred in main ( C:\workspace\MSP430\test5529\Debug\Obj\main.r43 )
我在网上查资料,都没有解决问题,其中文件中外部函数的声明external应该没有错误,就是不能通过链接,这种通过.h文件定义外部函数,并通过.c文件实现函数的编程风格应该怎样理解呢?希望能够得到各位的回答,急求答案,已经纠结了一天了?谢谢,谢谢。。。