打印
[PIC®/AVR®/dsPIC®产品]

实现单片机的ADC模块的数据快速采集

[复制链接]
楼主: chenjunt
手机看帖
扫描二维码
随时随地手机跟帖
21
huangchui| | 2022-3-5 11:48 | 只看该作者 回帖奖励 |倒序浏览
然后一个while应该差不多就500us了

使用特权

评论回复
22
chuxh| | 2022-3-5 11:50 | 只看该作者
DataBuf[2*i]  =ADRESH;
                DataBuf[2*i+1]=ADRESL;        

这两个寻址操作在8位机上就是个不在乎时间的做法

使用特权

评论回复
23
kangzj| | 2022-3-5 11:52 | 只看该作者
关于20MHz 晶振是否起作用的问题,本diy 是带 usb 数据传输的。晶振一定是起作用了。  不过,我可以将晶振拔了,试试。

使用特权

评论回复
24
kangzj| | 2022-3-5 11:54 | 只看该作者
我这个diy就是专用这个mcu 进行数据采集,其他事情由usb连的host去做。故mcu的 负担不会太重的。

使用特权

评论回复
25
jiajs| | 2022-3-5 11:55 | 只看该作者

这两行代码很费时,也许可修改试一下。

使用特权

评论回复
26
stly| | 2022-3-5 11:57 | 只看该作者
看看这两行代码到底能耗多少时钟周期。

使用特权

评论回复
27
kangzj| | 2022-3-5 11:59 | 只看该作者
我是初学者,如何用汇编指令得到的数据变为数组,还要学习。请老师们 赐教一些相关的代码?  

使用特权

评论回复
28
pengf| | 2022-3-5 12:01 | 只看该作者
采样时间的作用是让放大器稳定,电容充电,还考虑到温度的影响。

使用特权

评论回复
29
zhanghqi| | 2022-3-5 12:02 | 只看该作者
转化时间是指在输入稳定,电容充电完成后,开始转化到转化完成的时间。

使用特权

评论回复
30
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.

使用特权

评论回复
31
yszong| | 2022-3-5 12:08 | 只看该作者

不应该差那么多的,检查一下你的时钟。

使用特权

评论回复
32
dengdc| | 2022-3-5 12:10 | 只看该作者
20Mhz, 0.5ms一个数据, 明显的是时钟不对嘛..

使用特权

评论回复
33
dengdc| | 2022-3-5 12:11 | 只看该作者
首先你检查系统时钟是多少, 其次, 看看ADC模块用了什么时钟,有无分频.

使用特权

评论回复
34
zwll| | 2022-3-5 12:14 | 只看该作者
你这个ADGO完全没必要再加进去了,不然每次循环都要执行一次ADGO。

使用特权

评论回复
35
kangzj| | 2022-3-5 12:16 | 只看该作者
好的,我明天去单位试一下,多谢各位大侠了哈        

使用特权

评论回复
36
tpgf| | 2022-4-3 16:55 | 只看该作者
不需要一味的快

使用特权

评论回复
37
drer| | 2022-4-3 17:05 | 只看该作者
建议楼主使用中断

使用特权

评论回复
38
qcliu| | 2022-4-3 17:14 | 只看该作者
还得看被采样信号是什么性质的

使用特权

评论回复
39
coshi| | 2022-4-3 17:22 | 只看该作者
数据处理要跟得上

使用特权

评论回复
40
wiba| | 2022-4-3 17:29 | 只看该作者
也是一个不错的办法哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则