|
//数据采集回调函数 void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc) { if(adc_ReadOk == 0x55) { HAL_ADC_Stop(&hadc1); HAL_ADCEx_InjectedStop_IT(&hadc1);
} } 前置代码为:HAL_ADC_Start(&hadc1);和HAL_ADCEx_InjectedStart_IT(&hadc1); 问题是这样的,我通过模拟看门狗检测电压变化,当超限时将DMA把ADC采样到的数据传输出去,但是经过debug调试和示波器的观察,我可以明显的看出ADC[]数组里面的值是上一次电压变化的值。 而开机后,第一次触发看门狗进行DMA传输到ADC[]的值都为0. |
全球论坛无法登录
关于STM32WB09例子程序中,是否能够不使用串口的问题,引脚另有他用
关于使用STM32CubeIDE for vscode配置freertos的问题
关于STM32WB09使用CUBEMX进行配置的问题
STM32CUbeMX生成的代码里面没有HAL_ADC_Calibration_Start和HAL_ADCEx_Calibration_Start
stm32 motor control workbench生成代码时,找不到STM32CUBEMX
有没有大佬更新了CubeIDE2.0.0,在软件内更新后体积大了一倍
STM32CUBE调试中出现没有 “uwTickPrio() at 0x20000004” 对应的源文件
关于STM32Cubemx 6.15版本生成工程的文件编码的问题
在STM32CUBEIDE中配置完以后直接编译然后再运行出现《没有 “_end() at 0x20000108” 对应的源文件》
微信公众号
手机版
签到
你说 当超限时将DMA把ADC采样到的数据传输出去。请问 你此时通过什么保证此次转换结果
通过DMA传输出去的。换个说法,发生ADC转换超限时的值如何适时触发DMA请求的?
同样 你说第一次触发看门狗进行DMA传输到ADC]的值都为0。你是如何将发转换超限时的转换
事件跟DMA传输对应起来的?
建议先调试这个基础功能的代码,保证ADC连续转换同时结果能连续搬运到你的数组里面。