在线时间280 小时
UID3301905
ST金币0
蝴蝶豆7
注册时间2016-11-26
论坛元老
- 最后登录
- 2020-8-2
|
a0a.1 32b0c
之前做的ADC1_DMA实验出现数据跳动的严重错误,经过询问群里的大神后得出原因,原来是跟DMA的外设数据流格式和内存数据流格式有关,之前的实验中外设和内存的数据流格式均为一个字节,即8位(半字),而实际上ADC的值应为int型(16位,两个字节),若用一字节格式存储ADC的值,当值大于255时是会溢出的,溢出则数据重新归零,所以之前的实验,我在调节电位器旋钮的时候,数据会出现归零跳动,原因就是数据溢出,现在把外设和内存的数据流格式都调整为完整的全字之后,没有再出现数据归零跳动的现象。至于只改外设的数据格式或是只改内存数据格式还是两个都改,我都试过,结果是一样的,不过为了程序规范,还是统一都改最好。除此以外,ADC使用DMA通道时必须开启连续模式,不然得出结果仍与实际不符。
上传一份工程文件+头文件。
工程文件.zip
(14.43 MB, 下载次数: 85)
|
评分
-
查看全部评分
|