[PIC®/AVR®/dsPIC®产品] 实现单片机的ADC模块的数据快速采集

[复制链接]
1935|40
huangchui 发表于 2022-3-5 11:48 | 显示全部楼层
然后一个while应该差不多就500us了
chuxh 发表于 2022-3-5 11:50 | 显示全部楼层
DataBuf[2*i]  =ADRESH;
                DataBuf[2*i+1]=ADRESL;        

这两个寻址操作在8位机上就是个不在乎时间的做法
kangzj 发表于 2022-3-5 11:52 | 显示全部楼层
关于20MHz 晶振是否起作用的问题,本diy 是带 usb 数据传输的。晶振一定是起作用了。  不过,我可以将晶振拔了,试试。
kangzj 发表于 2022-3-5 11:54 | 显示全部楼层
我这个diy就是专用这个mcu 进行数据采集,其他事情由usb连的host去做。故mcu的 负担不会太重的。
jiajs 发表于 2022-3-5 11:55 | 显示全部楼层

这两行代码很费时,也许可修改试一下。
stly 发表于 2022-3-5 11:57 | 显示全部楼层
看看这两行代码到底能耗多少时钟周期。
kangzj 发表于 2022-3-5 11:59 | 显示全部楼层
我是初学者,如何用汇编指令得到的数据变为数组,还要学习。请老师们 赐教一些相关的代码?  
pengf 发表于 2022-3-5 12:01 | 显示全部楼层
采样时间的作用是让放大器稳定,电容充电,还考虑到温度的影响。
zhanghqi 发表于 2022-3-5 12:02 | 显示全部楼层
转化时间是指在输入稳定,电容充电完成后,开始转化到转化完成的时间。
llljh 发表于 2022-3-5 12:06 | 显示全部楼层

假设你的外部晶振20M,没有倍频,那么Fosc = 20M, TAD = 1/(20M/16) = 0.8us .
采样保持时间如你配置的 8TAD = 6.4us;
转换时间 最小是11TAD = 8.8us;
6.4us+8.8us = 15.2us.
yszong 发表于 2022-3-5 12:08 | 显示全部楼层

不应该差那么多的,检查一下你的时钟。
dengdc 发表于 2022-3-5 12:10 | 显示全部楼层
20Mhz, 0.5ms一个数据, 明显的是时钟不对嘛..
dengdc 发表于 2022-3-5 12:11 | 显示全部楼层
首先你检查系统时钟是多少, 其次, 看看ADC模块用了什么时钟,有无分频.
zwll 发表于 2022-3-5 12:14 | 显示全部楼层
你这个ADGO完全没必要再加进去了,不然每次循环都要执行一次ADGO。
kangzj 发表于 2022-3-5 12:16 | 显示全部楼层
好的,我明天去单位试一下,多谢各位大侠了哈        
tpgf 发表于 2022-4-3 16:55 | 显示全部楼层
不需要一味的快
drer 发表于 2022-4-3 17:05 | 显示全部楼层
建议楼主使用中断
qcliu 发表于 2022-4-3 17:14 | 显示全部楼层
还得看被采样信号是什么性质的
coshi 发表于 2022-4-3 17:22 | 显示全部楼层
数据处理要跟得上
wiba 发表于 2022-4-3 17:29 | 显示全部楼层
也是一个不错的办法哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0