关于KEIL建立CAN_API工程的时候编译出错的问题?
我在建立工程的时候,在Manage的CMSIS Driver选项中勾选了CAN_API结果编译出错。为什么会在这里加上这么一条语句???去掉#error编译通过后。好多的警告???该怎么加入CAN_API???这个是用来提示错误的,说明RTE_CAN1和RTE_CAN2中的一个没有定义使用。没有用过这个库,楼主方便把工程上传吗? 安 发表于 2016-8-23 09:43
这个是用来提示错误的,说明RTE_CAN1和RTE_CAN2中的一个没有定义使用。没有用过这个库,楼主方便把工程上传 ...
看不懂为什么会写上#if#error这条语句。
安 发表于 2016-8-23 09:43
这个是用来提示错误的,说明RTE_CAN1和RTE_CAN2中的一个没有定义使用。没有用过这个库,楼主方便把工程上传 ...
RTE_CAN1和RTE_CAN2在RTE_Device.h定义了。都是0.
RTE_Drivers_CAN1和RTE_Drivers_CAN2在RTE_Components.h定义了
宏定义
#define RTE_Drivers_CAN1 /* Driver CAN1 */
#define RTE_Drivers_CAN2 /* Driver CAN2 */
感觉怪怪的! #if和#endif是一组同时使用的,叫做条件编译指令。如果满足条件就进入错误提示。楼主可以网上搜一下这个使用方法。 RTE_Device.h中,RTE_CAN1修改为1。 本帖最后由 小刀十六式 于 2016-8-23 11:50 编辑
安 发表于 2016-8-23 11:08
#if和#endif是一组同时使用的,叫做条件编译指令。如果满足条件就进入错误提示。楼主可以网上搜一下这个使 ...
为什么设置RTE_CAN1为1 就好了?
是哪里出错了?
设MX_CAN1这个变量的问题吗?我在CAN_STM32F10x.c里多次看到这个变量
楼主,你看一下这个定义上面怎么写的。都写的很明白。 安 发表于 2016-8-23 11:52
楼主,你看一下这个定义上面怎么写的。都写的很明白。
噢~通过RTE_Device.h配置文件! 学习学习