Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
参考以前的贴子也不行,是用keil编译的,是什么原因
可以把你每次的转换数据给保留一下,高 16 bit 是通道号,确定是不是与你设置的一致
不一致,ADC_DRV_ConfigSequence这个函数配置的是21通道,ADC0->FIFO高16bit 是0x0F.[图片]
现在的现象本来是采集0、1、6、10、11、12、13、20、21、24,读出来变成了1、6、10、11、12、13、20、21、24,0通道的值
在con_val = ADC0->FIFO;加个1ms的延时就能对上
你这个代码问题有点多,第一,你配置的是 STEP 触发,就是一次触发一个通道的转换,但是实际你等待的序列完成标志,第二,等待序列完成标志后,并未及时清除该标志,第三,等待序列完成标志后,意味着整个序列已经转换完成,但你只读取了一个通道的结果,剩余通道的结果都还在寄存器里,未被及时读出。 建议先看一下 ADC 相关的 Demo,以及 ADC 相关的应用笔记
我这边是配置了10个adc_config,每个都只有一个通道,方便单独读取某一通道值,这样不行吗
emmm,可以这么用
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...