STM32DMA方式ADC转换 adc转换有数据,但是DMA设置的数组没数据,求教
1个回答
2017-01-15
展开全部
STM32DMA方式ADC转换 adc转换有数据,但是DMA设置的数组没数据
这个就需要你去查询标志位。
我做过SPI的DMA,它是这样的:
接收到数据最后一个字节的第一位就进DMA中断,在中断里判断DMA的传输完成标志位看是否传完剩下的7位,等传完再判断DMA是否在忙,没在忙才清除中断标志位,才去读取数据。假设你你的ADC_value[2000],如果DMA工作于单次方式,那么装满2000个数据后DMA就停止工作了,除非你重置DMA的CNDTR寄存器。 如果工作于循环方式,DMA在填充ADC_value[1999]后,又回到ADC_value[0]重新开始填充,周而复始。
这个就需要你去查询标志位。
我做过SPI的DMA,它是这样的:
接收到数据最后一个字节的第一位就进DMA中断,在中断里判断DMA的传输完成标志位看是否传完剩下的7位,等传完再判断DMA是否在忙,没在忙才清除中断标志位,才去读取数据。假设你你的ADC_value[2000],如果DMA工作于单次方式,那么装满2000个数据后DMA就停止工作了,除非你重置DMA的CNDTR寄存器。 如果工作于循环方式,DMA在填充ADC_value[1999]后,又回到ADC_value[0]重新开始填充,周而复始。
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
RS232串行通讯的数据格式包括以下组成部分:1. 起始位:一位,用于表示数据的开始。2. 数据位:通常为8位,但也可以是7位或9位。3. 校验位:可以选择奇偶校验或无校验。4. 停止位:一位,用于表示数据的结束,也可以选择使用1.5个或2...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询