OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8201|回复: 6

keil5用库函数写多通道ADC的DMA中断传输时提示 DMA1_Channel1_IRQHandler multiply defined (by dma_stm32f10x.o and dma.o).

[复制链接]

4

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2016-8-10
在线时间
16 小时
发表于 2016-8-10 22:38:53 | 显示全部楼层 |阅读模式
1金钱
这是我的dma.c文件:
[mw_shl_code=c,true]#include "dma.h"

u8 FLAG_DMA=0;
u16 DMA1_MEM_LEN=8;
__IO uint16_t ADC_ConvertedValue[8];

void dma_Init()
{
        DMA_InitTypeDef DMA_InitStructure;
       
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
       
        DMA_DeInit(DMA1_Channel1);
       
        DMA_InitStructure.DMA_BufferSize=8;
        DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC;
        DMA_InitStructure.DMA_M2M=DMA_M2M_Disable;
        DMA_InitStructure.DMA_MemoryBaseAddr=(u32)&ADC_ConvertedValue;
        DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_HalfWord;
        DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Enable;
        DMA_InitStructure.DMA_Mode=DMA_Mode_Normal;
        DMA_InitStructure.DMA_PeripheralBaseAddr=(u32)&ADC1->DR;
        DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_HalfWord;
        DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;
        DMA_InitStructure.DMA_Priority=DMA_Priority_Medium;
       
        DMA_Init(DMA1_Channel1, &DMA_InitStructure);
       
        DMA_ITConfig(DMA1_Channel1, DMA_IT_TC, ENABLE);
}

void dma_Enable()
{
        DMA_Cmd(DMA1_Channel1,DISABLE);
       
        DMA_SetCurrDataCounter(DMA1_Channel1,DMA1_MEM_LEN);
       
        DMA_Cmd(DMA1_Channel1,ENABLE);
}

void DMA_NVIC_Configuration()
{
        NVIC_InitTypeDef NVIC_InitStructure;
       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
       
        NVIC_InitStructure.NVIC_IRQChannel=DMA1_Channel1_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
       
        NVIC_Init(&NVIC_InitStructure);
}

void DMA1_Channel1_IRQHandler()
{
        if((DMA_GetITStatus(DMA1_IT_TC1))!=RESET)
        {
                FLAG_DMA=1;
                DMA_ClearITPendingBit(DMA1_IT_TC1);
        }
}
[/mw_shl_code]

这是startup_stm32f10x_hd.s(Startup)文件
                 DCD     EXTI4_IRQHandler           ; EXTI Line 4
                DCD     DMA1_Channel1_IRQHandler   ; DMA1 Channel 1
                DCD     DMA1_Channel2_IRQHandler   ; DMA1 Channel 2
                DCD     DMA1_Channel3_IRQHandler   ; DMA1 Channel 3
                DCD     DMA1_Channel4_IRQHandler   ; DMA1 Channel 4
                DCD     DMA1_Channel5_IRQHandler   ; DMA1 Channel 5
                DCD     DMA1_Channel6_IRQHandler   ; DMA1 Channel 6
                DCD     DMA1_Channel7_IRQHandler   ; DMA1 Channel 7
                DCD     ADC1_2_IRQHandler          ; ADC1 & ADC2



最佳答案

查看完整内容[请看2#楼]

DMA1_Channel1_IRQHandler,重复定义,去掉一处的定义即可。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2016-8-10 22:38:54 | 显示全部楼层
DMA1_Channel1_IRQHandler,重复定义,去掉一处的定义即可。
回复

使用道具 举报

20

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
407
金钱
407
注册时间
2016-3-27
在线时间
104 小时
发表于 2016-8-11 08:34:03 | 显示全部楼层
哪里重复定义了
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2016-8-11 08:47:52 | 显示全部楼层
看看dma.h。搜索DMA1_Channel1_IRQHandler所有文件,看有几处。
小小蜗牛
回复

使用道具 举报

4

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2016-8-10
在线时间
16 小时
 楼主| 发表于 2016-8-13 09:06:31 | 显示全部楼层
好的,谢谢原子哥
回复

使用道具 举报

1

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2013-10-18
在线时间
20 小时
发表于 2016-8-15 19:40:14 | 显示全部楼层
可以用 soure insight  搜索一下
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2022-10-25
在线时间
1 小时
发表于 2022-10-25 11:56:04 来自手机 | 显示全部楼层
最后怎么解决的呀,我也是这个问题,头文件和c文件都没重复定义
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 22:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表