mk60的adc采集 stm32 adc多通道非dmaastm32 adc多通道非dmab是什么意思,小白求大神指点

(ERROR:15) & 访客不能直接访问后使用快捷导航没有帐号?
只需一步,快速开始
扫一扫,访问微社区
查看: 2131|回复: 6
用gpio触发dma传输adc数据求大神帮忙看下哪里错了
主题帖子精华
中级会员, 积分 391, 距离下一级还需 109 积分
中级会员, 积分 391, 距离下一级还需 109 积分
在线时间36 小时
完全采集不到,PTB5有电平变化的,ADC0已经初始化为连续采集,使能dma
void Dma_init(void)
LPLD_eDMA_Cfg_t User_Def_DMA_Init_u;&&//声明DMA初始化结构体
&&User_Def_DMA_Init_u.Channelx& && && & =DMA_CH0;& && && && && &//设置为通道0,通道0采集
&&User_Def_DMA_Init_u.Peri_DmaReq& && & =PORTB_DMAREQ;& && && & //IO B 产生DMA请求
&&User_Def_DMA_Init_u.Minor_loop_Length =128;& && && && && && && && && && &//主循环次数& && &
&&User_Def_DMA_Init_u.Source_Addr& && & =(uint32_t)&ADC0_RA; //设置源地址,
&&User_Def_DMA_Init_u.Source_Size& && & =DMA_SRC_8BIT;
&&User_Def_DMA_Init_u.Source_Addr_inc& &=0;
&&User_Def_DMA_Init_u.Dest_Addr& && && &=(uint32_t)P& && &//目的地址为Pix_Data的首地址
&&User_Def_DMA_Init_u.Dest_Addr_inc& &&&=1;& && && && & //目的地址不增加
&&User_Def_DMA_Init_u.Dest_Size& && && &=DMA_DST_8BIT;
&&User_Def_DMA_Init_u.Dma_irqc& && && & =1;& && && && && && && &//主循环次数为减少0,触发中断
&&User_Def_DMA_Init_u.isr_func& && && & =dman_& && && && &&&//自定义通道1中断服务子程序
&&//初始化DMA模块
&&DMA_Init(&User_Def_DMA_Init_u);
void GPIO_init()
&&LPLD_GPIO_Init(PTB, 5, DIR_INPUT, INPUT_PDOWN, IRQC_DMARI);
&&adc_init(ADC0, AD9) ;
void adc_continuous(ADCn adcn, ADC_Ch ch, ADC_nbit bit)& &
& &Master_Adc_Config.CONFIG1 = ADLPC_NORMAL | ADC_CFG1_ADIV(ADIV_1) | ADLSMP_LONG |&&ADC_CFG1_MODE(bit) | ADC_CFG1_ADICLK(ADICLK_BUS_2);
& &Master_Adc_Config.CONFIG2 =&&MUXSEL_ADCA | ADACKEN_DISABLED | ADHSC_HISPEED | ADC_CFG2_ADLSTS(ADLSTS_20);
& &Master_PARE1 = 0x1234u;
& &Master_PARE2 = 0x5678u;
& &Master_Adc_Config.STATUS2 = ADTRG_SW | ACFE_DISABLED |&&ACFGT_LESS | ACREN_DISABLED |&&DMAEN_ENABLED | ADC_SC2_REFSEL(REFSEL_EXT);
&&Master_Adc_Config.STATUS3 = CAL_OFF | ADCO_CONTINUOUS | AVGE_ENABLED | ADC_SC3_AVGS(AVGS_32);
&&Master_Adc_Config.PGA = PGAEN_DISABLED | PGACHP_NOCHOP | PGALP_NORMAL | ADC_PGA_PGAG(PGAG_64);
&&Master_Adc_Config.STATUS1A = AIEN_ON | DIFF_SINGLE | ADC_SC1_ADCH(ch);
//&&Master_Adc_Config.STATUS1B = AIEN_ON | DIFF_SINGLE | ADC_SC1_ADCH(ch);
&&adc_config_alt(ADCx[adcn], &Master_Adc_Config);
主题帖子精华
中级会员, 积分 391, 距离下一级还需 109 积分
中级会员, 积分 391, 距离下一级还需 109 积分
在线时间36 小时
发现LPLD库有个bug,下面代码会使Dest_Addr不管是填hold还是INCREASE,最后结果都是INCREASE
&&//如果用户没有设置 目的地址增加 默认为执行一次DMA请求后目的地址加一
& & if(DMA_Config-&Dest_Addr_inc ==NULL)
& && &&&DMA_Config-&Dest_Addr_inc& &&&=ADDR_INCREASE;& & //针对目的地址的操作执行完毕后加1
应该把ADDR_INCREASE改成hold
主题帖子精华
中级会员, 积分 391, 距离下一级还需 109 积分
中级会员, 积分 391, 距离下一级还需 109 积分
在线时间36 小时
坐等老大和大神回答,我已经调了2天了都没调出来
主题帖子精华
注册会员, 积分 57, 距离下一级还需 143 积分
注册会员, 积分 57, 距离下一级还需 143 积分
在线时间3 小时
毕业学校浙江大学城市学院
我也在纠结adc+dma,坐等洋葱圈大神回答
主题帖子精华
中级会员, 积分 249, 距离下一级还需 251 积分
中级会员, 积分 249, 距离下一级还需 251 积分
在线时间16 小时
毕业学校浙大城市学院
顺便帮你说下是MK60芯片……
主题帖子精华
中级会员, 积分 391, 距离下一级还需 109 积分
中级会员, 积分 391, 距离下一级还需 109 积分
在线时间36 小时
请大神给点idea,今晚就守在电脑旁了
主题帖子精华
中级会员, 积分 391, 距离下一级还需 109 积分
中级会员, 积分 391, 距离下一级还需 109 积分
在线时间36 小时
真的没人来回答吗,伤心了
Powered by

我要回帖

更多关于 adc通道 的文章

 

随机推荐