汇集网友智慧,解决技术难题
ESP8266
赞0
评论
2023-03-09
m564522634 发表于 2023-3-8 13:47 10M 估计是数据总线速度,不是AD转换的数据, AD转换本身就需要时间的,你在手册确认下转换速度是多少 ...
2023-03-08
fxyc87 发表于 2023-3-8 08:53 MicroPython本身就很慢的啊,你得用C语言开发,AD采集本身需要耗时,解释脚本本身也有大量耗时。 ...
点击图片添加到编辑器内容中
点击文件名将附件添加到文章中
提交
tyw
317个答案
天意无罪
287个答案
xch
212个答案
jjjyufan
202个答案
coody
191个答案
LcwSwust
158个答案
chunyang
135个答案
tpgf
113个答案
赞0
评论
2023-03-09
赞0
手册里没说具体采样率。
【摘录手册相关章节】
快速⾼精度的 ADC 采样。
- 本接⼝必须在关闭 Wi-Fi 的状态下使⽤。
- 如需进⾏连续测量 ADC,则还需要在关闭所有中断的状态下使⽤。
- 因此,调⽤ system_adc_read_fast 时,不能使⽤ PWM 或者 NMI 类型的硬件定时器。
函数定义
void system_adc_read_fast(uint16 *adc_addr, uint16 adc_num, uint8 adc_clk_div)
参数
• uint16 *adc_addr: ADC 连续采样输出的地址指针。
• uint16 adc_num: ADC 连续采样的点数,输⼊范围 [1, 65535]。
• uint8 adc_clk_div: ADC ⼯作时钟 = 80M/adc_clk_div,输⼊范围 [8, 32],推荐值为 8。
范例
wifi_set_opmode(NULL_MODE);
ets_intr_lock(); //close interrupt
uint16 adc_addr[10];
uint16 adc_num = 10;
uint8 adc_clk_div = 8;
uint32 i;
system_adc_read_fast(adc_addr, adc_num, adc_clk_div);
for(i=0; i<adc_num; i++)
os_printf("i=%d, adc_v=%d\n", i, adc_addr);
ets_intr_unlock(); //open interrup
手册里就这些,还有一个普通采样,更慢了。
评论
2023-03-08
赞0
纯c做的,用的官方手册里的范例代码
评论
2023-03-08
赞0
评论
2023-03-08
赞0
评论
2023-03-08
您需要登录后才可以回复 登录 | 注册