OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5615|回复: 2

ADC功能移植到FreeRTOS架构下,ADC-DR出现误差

[复制链接]

1

主题

2

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-2-10
在线时间
2 小时
发表于 2018-3-18 10:45:25 | 显示全部楼层 |阅读模式
1金钱
将程序移植到FreeRTOS中

ADC转换功能应用

应用方式:ADC转换,采用的DMA方式的,将转换结果循环载入指定存储变量(u32 ADResult)下。

ADC:      测试对象0~3.0VDC的电压值

应用差异
方式一:无系统框架,死循环运行,定时读取ADC转换变量下的值
方式二: 架构于FreeRTOS应用下,采用创建Task定时读取。

结果差异
  万用表测试
  外部电压值
  
  
方式一
  
  
方式二
  
  AD-DR
  
  转换值
  
  AD-DR
  
  转换值
  
  
193.8
  
  
0x7BB
  
  
193.741
  
  
0xEC2
  
  
369.860
  
  
379.4
  
  
0xF4E
  
  
383.566
  
  
0xFF6
  
  
400.012
  

以上表明ADC转换出了问题,现不明确是什么原因导致的

FreeROTS

FreeROTS

无系统

无系统
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2018-3-18 17:44:39 | 显示全部楼层
读取ADC值的时候加入临界段代码保护试一下
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-2-10
在线时间
2 小时
 楼主| 发表于 2018-3-19 09:25:31 | 显示全部楼层
zuozhongkai 发表于 2018-3-18 17:44
读取ADC值的时候加入临界段代码保护试一下

ADC->DR的数据存储 完全交于DMA了 ,CPU没有进行数据存储处理,也不知道将临界段代码保护添加到哪个位置。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-1-31 21:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表