初级会员

- 积分
- 108
- 金钱
- 108
- 注册时间
- 2019-4-28
- 在线时间
- 50 小时
|
30金钱
本帖最后由 Alakir 于 2019-11-21 17:17 编辑
求助原子哥和论坛里用F767的大佬
(ADC+DMA+DAC)
我在配置ADC的时候本想使用时钟触发,但是达不到要求,即示波器显示时还原不了原函数
所以想着ADC一采好就直接软件触发传输,但是不清楚软件触发代码
(给的ADC例程是取平均值的,而且只做一次,我想采样正弦波然后DA恢复,就要求采好就传,一直采一直传)我的配置:
hadc1.Instance = ADC1;
hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4;
hadc1.Init.Resolution = ADC_RESOLUTION_12B;
hadc1.Init.ScanConvMode = DISABLE; //非扫描
hadc1.Init.ContinuousConvMode = DISABLE; //不启动连续转换
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; // 软件触发
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; // 软件触发
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc1.Init.NbrOfConversion = 1; // 1个序列
hadc1.Init.NbrOfDiscConversion = 0;
hadc1.Init.DMAContinuousRequests = ENABLE; // 允许DMA
hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
HAL_ADC_Init(&hadc1);
求帮助
|
|