搜索
bottom↓
回复: 5

求助:STM8L151定时器2始终触发不了AD采样,DMA传输。

[复制链接]

出0入13汤圆

发表于 2021-7-5 09:38:12 | 显示全部楼层 |阅读模式
哪位有例程或做过,给个例程,参考下

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入17汤圆

发表于 2021-7-6 16:44:10 | 显示全部楼层
我就好奇这玩意现在多少钱一片

出0入13汤圆

 楼主| 发表于 2021-7-6 17:15:07 | 显示全部楼层
好像是16块多点

出0入0汤圆

发表于 2021-7-6 17:27:04 | 显示全部楼层
mculjf 发表于 2021-7-6 17:15
好像是16块多点

有16块多的吗?匀我点

出0入13汤圆

 楼主| 发表于 2021-7-6 17:35:10 | 显示全部楼层
对啊,上周问采购的

出0入13汤圆

 楼主| 发表于 2021-7-22 17:19:50 | 显示全部楼层
今天试了下,但目前怎么也进不了DMA中断,问题不知道出在哪里

void Timer2_Config_Init(void)
{
    CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);  //时钟配置
    TIM2_DeInit();
    TIM2_TimeBaseInit(TIM2_Prescaler_1, TIM2_CounterMode_Up,16*624); //1分频,向上计数,每625us定时中断一次     
    TIM2_ARRPreloadConfig(ENABLE);
//    TIM2_SelectOutputTrigger(TIM2_TRGOSource_Update);
//    TIM2_SelectOutputTrigger(TIM2_TRGOSource_Enable);
//   TIM2_ITConfig(TIM2_IT_Update , ENABLE);
    TIM2_ITConfig(TIM2_IT_Update , DISABLE);
}


void Ad_Config_Init(void)
{
    ADC_DeInit(ADC1);
    CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);//打开ADC1外设的时钟
    GPIO_Init(GPIOA, GPIO_Pin_6, GPIO_Mode_In_FL_No_IT);//电源
    GPIO_Init(GPIOB, GPIO_Pin_0, GPIO_Mode_In_FL_No_IT);//电流采样
    GPIO_Init(GPIOB, GPIO_Pin_1, GPIO_Mode_In_FL_No_IT);//参考电压采样
    delay_us(20);
    ADC_Init(ADC1, ADC_ConversionMode_Single, ADC_Resolution_12Bit, ADC_Prescaler_1);//初始化ADC1,模式,12位分辨率,ADC时钟1分频
    ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);//配置ADC采样时间,384个时钟周期
    ADC_VrefintCmd(DISABLE); //禁止内部电压基准源
    ADC_ITConfig(ADC1, ADC_IT_EOC, DISABLE);

    ADC_DMACmd(ADC1, ENABLE);
    ADC_Cmd(ADC1,ENABLE); //使能ADC1     
    ADC_ChannelCmd(ADC1, ADC_Channel_0, ENABLE);//打开ADC1的0通道
    ADC_ChannelCmd(ADC1, ADC_Channel_17, ENABLE);//打开ADC1的17通道
    ADC_ChannelCmd(ADC1, ADC_Channel_18, ENABLE);//打开ADC1的18通道      
}


#define ADC1_DR_ADDRESS        ((uint16_t)0x5344)
#define BUFFER_SIZE            ((uint8_t) 0x03)
#define BUFFER_ADDRESS         ( (uint32_t)(&Buffer))
uint16_t Buffer[3];

void DMA1_Config_Init(void)
{
    CLK_PeripheralClockConfig(CLK_Peripheral_DMA1, ENABLE);  
    DMA_DeInit(DMA1_Channel0);
    DMA_GlobalDeInit();
    SYSCFG_REMAPDMAChannelConfig(REMAP_DMA1Channel_ADC1ToChannel0);
    DMA_Init(DMA1_Channel0,
             BUFFER_ADDRESS,//缓冲区地址
             ADC1_DR_ADDRESS,//ADC数据寄存器地址
             BUFFER_SIZE,//缓冲区大小
             DMA_DIR_PeripheralToMemory,//外设到内存
             DMA_Mode_Circular,//循环转换
             DMA_MemoryIncMode_Inc,//内存地址自增
             DMA_Priority_High,//优先级为高
             DMA_MemoryDataSize_HalfWord );//内存数据是半字位宽

    DMA_SetCurrDataCounter(DMA1_Channel0,BUFFER_SIZE);//设置转速的数据个数
    DMA_Cmd(DMA1_Channel0, ENABLE);                                   //DMA Channel0 enable
    DMA_ITConfig(DMA1_Channel0, DMA_ITx_TC, ENABLE);                  // Enable DMA1 channel0 Transfer complete interrupt
    DMA_GlobalCmd(ENABLE);                                            //DMA enable
}



INTERRUPT_HANDLER(DMA1_CHANNEL0_1_IRQHandler,2)
{
    unsigned char i=0;
//    ADC_Cmd(ADC1,DISABLE);
    if(DMA_GetFlagStatus(DMA1_FLAG_TC0)!= RESET)
    {
    }
    DMA_ClearITPendingBit(DMA1_IT_TC0);
}



INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_USART2_TX_IRQHandler,19)
{
    if(flg==0)
    {
        Vcc_Swich_On;
        flg=1;
    }
    else
    {
        Vcc_Swich_Off;
        flg=0;
    }
    TIM2_ClearITPendingBit(TIM2_IT_Update);
}

void Time_Adc_Dma_Init(void)
{
    Timer2_Config_Init();
    Ad_Config_Init();
    DMA1_Config_Init();

    ADC_ExternalTrigConfig(ADC1,ADC_ExtEventSelection_Trigger2,ADC_ExtTRGSensitivity_Falling);
    TIM2_SelectOutputTrigger(TIM2_TRGOSource_Update);
    TIM2_Cmd(ENABLE);
//    ADC_SoftwareStartConv(ADC1);
}
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 01:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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