打印
[STM32F1]

错误提示error: 'CAN2' undeclared in standard peripheral library for STM32F103

[复制链接]
78|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhouyou99|  楼主 | 2025-6-22 22:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
正在使用标准外设库将一个项目从STM32F105移植到STM32F103。在编译过程中,出现以下错误:
In file included from ../Drivers/STM32F10x_StdPeriph_Driver/src/stm32f10x_can.c:23:0:../Drivers/STM32F10x_StdPeriph_Driver/inc/stm32f10x_can.h:47:49: error: 'CAN2' undeclared (first use in this function); did you mean 'CANx'?                                    ((PERIPH) == CAN2))
在stm32f10x_can.h文件,可以找到:
#define IS_CAN_ALL_PERIPH(PERIPH) (((PERIPH) == CAN1) || \                                   ((PERIPH) == CAN2))
但是STM32F103仅在stm32f103xe.h中定义了CAN1。
问题是如何编译STM32F103的标准库?
一种解决方法是删除所有对CAN2的引用,标准外设库应该是F1系列中所有MCU的标准。怎么操作能够实现不需要修改库的源代码就可以为这些mcu编译。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

20

帖子

0

粉丝