电子工程师技术服务社区
- 社区首页
- 下载
- 头文件.zip
资料描述
之前做的adc1_dma实验出现数据跳动的严重错误,经过询问群里的大神后得出原因,原来是跟dma的外设数据流格式和内存数据流格式有关,之前的实验中外设和内存的数据流格式均为一个字节,即8位(半字),而实际上adc的值应为int型(16位,两个字节,全字),若用一字节格式存储adc的值,当值大于255时是会溢出的,溢出则数据重新归零,所以之前的实验,我在调节电位器旋钮的时候,数据会出现归零跳动,原因就是数据溢出,现在把外设和内存的数据流格式都调整为完整的全字(16位)之后,没有再出现数据归零跳动的现象。至于只改外设的数据格式或是只改内存数据格式还是两个都改,我都试过,结果是一样的,不过为了程序规范,还是统一都改最好。除此以外,adc使用dma通道时必须开启连续模式,不然得出结果仍与实际不符。