网上搜到出现这种错误的原因各种各样,然后自己发现错误原因竟然如此低级,特此纪念一下自己脑残,并以此督促自己代码命名规范。
timer.c中:
Struct_Timer a=
{
.Tim2_Init_1ms=Tim2_Init_1ms,
};
Struct_Timer * ps_Timer=&a;
iap.c中:
Struct_IAP a=
{
.IAPProcess=IAPProcess,
};
Struct_IAP* ps_IAP = &a;
并且分别在它们对应的.h文件中对ps_Timer和ps_IAP做了extern声明。
以上问题完全可以避免,只要不为了图省劲随便起名就行了。以此为鉴,往后改正。