完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是我自己定义的can.h头文件,把相关结构体变量都放在这里了并对他们进行了初始化,文件可以build成功,但是debug的时候就会出错,显示错误出现在下文红色字体处,错误提示如下图所示,哪位大神能帮忙解决一下,不胜感激!!! #ifndef CAN_H #define CAN_H #ifdef _CAN_C_ #define _CAN_EXT #else #define _CAN_EXT extern #endif /************************************************************************************************** Definitions & Macros **************************************************************************************************/ #define CAN_DEFAULTS { 0, 0, {0, 0, 0, 0, 0, 0, 0, 0}, 1, (void (*)(long))can_TXData, (void (*)(long))can_RXData } #define CAN_T_DEFAULTS { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void (*)(long))can_TXData} #define CAN_R_DEFAULTS { 0, 0, 0, 0, 0, 0, 0, (void (*)(long))can_RXData } /************************************************************************************************** TypeDefs & Structure defines (N/A) **************************************************************************************************/ typedef struct { _iq id; /* Input: phase-a stator variable */ _iq length; /* Input: phase-b stator variable */ _iq data[8]; /* Input: phase-c stator variable */ _iq sta; void (*TXData)(); /* Pointer to calculation function */ void (*RXData)(); /* Pointer to calculation function */ } CAN; typedef CAN *CAN_handle; typedef struct { _iq M1Torque; _iq M1Current; _iq M1HeartBeat; _iq M1State; _iq M1Direction; _iq M1Speed; _iq M1InputVolt; _iq M1Temp; _iq M1IGBTTemp; _iq M1DeltaAngle; _iq M1TqLimit; _iq M1FaultGrade; _iq M1Fault; _iq M2Torque; _iq M2Current; _iq M2HeartBeat; _iq M2State; _iq M2Direction; _iq M2Speed; _iq M2InputVolt; _iq M2Temp; _iq M2IGBTTemp; _iq M2DeltaAngle; _iq M2TqLimit; _iq M2FaultGrade; _iq M2Fault; void (*TXData)(); /* Pointer to calculation function */ }CAN_T; typedef CAN_T *CAN_tx; typedef struct{ _iq M1Enable; _iq M1Mode; _iq M1Drive; _iq M1TorqueSet; _iq M1SpeedSet; _iq M1SpeedLimit; _iq M2Enable; _iq M2Mode; _iq M2Drive; _iq M2TorqueSet; _iq M2SpeedSet; _iq M2SpeedLimit; _iq MCU1HeartBeat; void (*RXData)(); /* Pointer to calculation function */ }CAN_R; typedef CAN_R *CAN_rx; /************************************************************************************************** Exported Variables **************************************************************************************************/ #ifdef _CAN_C_ _CAN_EXT CAN can = CAN_DEFAULTS; _CAN_EXT CAN_T tbuf = CAN_T_DEFAULTS; _CAN_EXT CAN_R rbuf = CAN_R_DEFAULTS; error:#20 identifier "can_RXData" is undefined can.h error:#45 expression must have pointer type can.h _CAN_EXT Uint16 can_StartFlag = 0; _CAN_EXT Uint16 can_RunMode = 0; _CAN_EXT Uint16 can_RunDIR = 0; _CAN_EXT int16 can_IdCmd = 0; _CAN_EXT int16 can_IqCmd = 0; _CAN_EXT Uint16 can_TXFlag = 0; #else _CAN_EXT CAN can; _CAN_EXT CAN_T tbuf; _CAN_EXT CAN_R rbuf; _CAN_EXT Uint16 can_StartFlag; _CAN_EXT Uint16 can_RunMode; _CAN_EXT Uint16 can_RunDIR; _CAN_EXT int16 can_IdCmd; _CAN_EXT int16 can_IqCmd; _CAN_EXT Uint16 can_TXFlag; #endif /************************************************************************************************** RAM ALLOCATION (N/A) **************************************************************************************************/ /************************************************************************************************** Exported Function Call Prototypes **************************************************************************************************/ _CAN_EXT void can_TXData(CAN_tx); _CAN_EXT void can_RXData(CAN_rx); _CAN_EXT interrupt void CANA_Recv_ISR(void); /************************************************************************************************** Local Function Call Prototypes (N/A) **************************************************************************************************/ /************************************************************************************************** Flag Define (N/A) **************************************************************************************************/ #endif |
|
相关推荐
2个回答
|
|
回帖奖励 +1 分积分
数据类型未定义的错误
|
|
|
|
变量未定义,看看头文件所在的文件夹路径有没有包含进来,project-properties-build-include options右下方加路径
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于 DSP5509 进行数字图像处理中 Sobel 算子边缘检测的硬件连接电路图
2293 浏览 0 评论
677 浏览 0 评论
普中科技F28335开发板中,如何使用aic23播放由代码生成的正弦波
2730 浏览 0 评论
3495 浏览 1 评论
1190 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 19:48 , Processed in 0.540898 second(s), Total 45, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号