问题现象:
我进行的操作(目的是使用V2版本的串口):
使能了串口设备:
打开了要用到的串口的宏开关:
将rtdevice.h中的内容修改为:
然后我用宏开关的方法注释掉了serial.h和serial.c的全部内容:
然后编译,然后报错:
疑问:
按理说“对某某函数的未定义引用”这样的错误应该是函数原型和声明缺失导致的,但我函数的原型和声明都不缺呀,如下:
(文件drv_usart.c中的未定义引用部分的rt_hw_serial_isr函数):
(rt_hw_serial_isr函数声明于serial_v2.h,定义于serial_v2.c):
(drv_usart.c中包含的drv_usart.h文件内容如下):
(drv_usart.h中有#include “rtdevice.h”,而rtdevice.h有#include “drivers/serial_v2.h”):
然后我就不明白了,为什么报错“对某某函数的未定义引用”,明明有声明、有原型呀?
芯片型号:AT32F403ACGU7
支持包版本:0.0.9
系统版本:4.1.0
更多回帖