情况说明
在学习STM32的DMA时, 编译链接时出现了两个错误
Symbol aDST_Buffer multiply defined (by bsp_dma_mtm.o and main.o)
Symbol aSRC_Const_Buffer multiply defined (by bsp_dma_mtm.o and main.o)
原因分析
原因是我把两个数组放在了<.h>定义, 多个文件包含此<.h>则造成了重复定义(multiply defined)
<.h>中只能声明, 不能定义
需要在<.c>中定义, 在<.h>中声明
解决方法
- 在<.c>文件中定义
- 在<.h>文件中用extern声明
- 编译成功
SHOUT OUT TO