打印
[技术讨论]

KF32F系列示例程序ADC-DMA转化

[复制链接]
5460|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
某位|  楼主 | 2021-8-23 13:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADC, DMA, pi, IO, ni, GPIO
    我是第一次使用KF32F系列芯片,厂家提供的ADC-DMA的示例程序,编译一直报错。查了一下是主函数里,ADC_DMA_Cmd(ADC0_SFR,TRUE); 这个函数没有定义,我浏览了一下DMA的库函数和ADC的库函数,都没有找到相关的函数说明,
    请问一下麻烦大家用的时候是怎么打开ADC-DMA通道的

void main()
{
        //系统时钟,外设高频时钟配置
        SystemInit();
        GPIO_Write_Mode_Bits(GPIOB_SFR, GPIO_PIN_MASK_8,GPIO_MODE_OUT);  //STATUS灯配置为输出模式

        //配置USART2引脚重映射
        GPIO_USART();
        //全双工异步8bit 9600波特率
        USART_Async_config(USART2_SFR);

        Init_T1();

        /* DMA复位 */
        DMA_Reset (DMA0_SFR); //复位指令
        Init_dma0();        //配置DMA0的ch3
        Init_dma0_it();
        Init_dma1();        //配置DMA0的ch4
        Init_dma1_it();

        INT_Interrupt_Priority_Config(INT_DMA0,3,0);//抢占优先级4,子优先级0
        INT_Interrupt_Enable(INT_DMA0,TRUE);//外设中断使能
        INT_Clear_Interrupt_Flag(INT_DMA0);//清中断标志

        Init_adc0();
        ADC_DMA_Cmd(ADC0_SFR,TRUE); //使能ADC的DMA功能

        Init_adc1();
        ADC_DMA_Cmd(ADC1_SFR,TRUE); //使能ADC的DMA功能

        ADC_Double_Mode_Config(ADC_REGULAR_SYNC); //不能使用混合模式,高低优先级的通道必须分开

        Delay(0xFFF);  //ADC使能后需要一段短暂的时间,等待电路充电完毕后,才能去采样,否者可能存在较大的采样误差

        INT_All_Enable (TRUE);//全局可屏蔽中断使能,该中断使能控制不包含复位/NMI/硬件错误中断
        while(1)
        {
                Delay(0xFFFFF);
                GPIO_Toggle_Output_Data_Config(GPIOB_SFR, GPIO_PIN_MASK_8); //状态灯翻转
        }               
}

使用特权

评论回复

相关帖子

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

本版积分规则

1

主题

1

帖子

0

粉丝