之前做的ADC1_DMA实验出现数据跳动的严重错误,经过询问群里的大神后得出原因,原来是跟DMA的外设数据流格式和内存数据流格式有关,之前的实验中外设和内存的数据流格式均为一个字节,即8位(半字),而实际上ADC的值应为int型(16位,两个字节),若用一字节格式存储ADC的值,当值大于255时是会溢出的,溢出则数据重新归零,所以之前的实验,我在调节电位器旋钮的时候,数据会出现归零跳动,原因就是数据溢出,现在把外设和内存的数据流格式都调整为完整的全字之后,没有再出现数据归零跳动的现象。至于只改外设的数据格式或是只改内存数据格式还是两个都改,我都试过,结果是一样的,不过为了程序规范,还是统一都改最好。除此以外,ADC使用DMA通道时必须开启连续模式,不然得出结果仍与实际不符。 上传一份工程文件+头文件。 |
谢谢分享,期待更多的评测啊 |
谢谢分享 |
学习 学习 DMA一直么又尝试去用,不知道好不好、 |
【STM32F429开发日志】汉字显示(取模方式)
【STM32F429开发日志】5.uCOS-ii V2.91 移植OK
图形化玩转Nucleo-STM32F413手机APP远程控制应用开发
【stm32F429开发日志】使用STM32CubeMX配置STM32F429_USB_HID
【STM32F429开发日志】(三)使用STM32Cube开发环境
【STM32F429开发日志】——网络收集的例程分享(包括所有STM32F429Discovery板上外设驱动)
分享个用STM32F429做的网络摄像头
STM32F429UCOS 源代码
【STM32F429开发日志】+hello led(闪烁led灯)
STM32F429DSICOVERY移植到STemWIN(图片+源码)