单片机笔记八:华大单片机报错(未定义__WEAKDEF)

最近开始用华大的单片机,按照官方的例程做了一个工程模板,结果直接编译不过,而且一口气有30个错误,提示内容如下:

__WEAK void I2c0_IRQHandler(void);
..\..\..\..\mcu\common\interrupts_hc32l13x.c(77): error:  #65: expected a ";"
  __WEAK void I2c0_IRQHandler(void);
..\..\..\..\mcu\common\interrupts_hc32l13x.c(78): error:  #77-D: this declaration has no storage class or type specifier
  __WEAK void I2c1_IRQHandler(void);
..\..\..\..\mcu\common\interrupts_hc32l13x.c(78): error:  #65: expected a ";"
  __WEAK void I2c1_IRQHandler(void);
..\..\..\..\mcu\common\interrupts_hc32l13x.c: 1 warning, 30 errors

查了一下,处理方法如下:

在头文件中定义__WEAKDEF如下(把下面这段代码放到前面),并且将报错的地方__WEAK修改为__WEAKDEF。

#if defined (__ICCARM__)
#define __WEAKDEF            __WEAK __ATTRIBUTES
#elif defined (__CC_ARM)
#define __WEAKDEF            __weak
#else
#error    "unsupported compiler!!"
#endif

问题解决

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值