硬汉嵌入式论坛

 找回密码
 立即注册
查看: 949|回复: 5
收起左侧

新手求助,AD7606如何检测实现1ms检测一次并用LCD显示曲线

[复制链接]

2

主题

6

回帖

12

积分

新手上路

积分
12
发表于 2024-10-31 16:36:12 | 显示全部楼层 |阅读模式
目前状况用两个滴答定时器实现        bsp_StartAutoTimer(0, 1);bsp_StartAutoTimer(1, 400);,1ms检测一次,设置最大检测时间为400ms。

但实际情况不好,串口打印只有230个计数,LCD绘图不能满框,说明AD不满足1ms/1次。
项目说明:检测数值超过设定值才开始计数,存储到数组。之后检测数值低于设定值才结束计数,或者计数达到400,绘制图像。
求助贴友如何解决?

串口

串口

屏幕

屏幕
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2024-10-31 16:49:11 | 显示全部楼层
这个是源代码。
求助各位贴友
1730364341145.png

AD7606 LCD.7z

4.52 MB, 下载次数: 5

回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2024-10-31 17:11:23 | 显示全部楼层
是不是将bsp_StartAutoTimer(1, 400)改为TIM定时器会好很多
1730365823163.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117542
QQ
发表于 2024-11-1 09:11:25 | 显示全部楼层
可以换个思路,仅开一个bsp_StartAutoTimer(0, 1)就行。采集够400点了,在里面绘制下
回复

使用道具 举报

2

主题

6

回帖

12

积分

新手上路

积分
12
 楼主| 发表于 2024-11-1 16:43:52 | 显示全部楼层
eric2013 发表于 2024-11-1 09:11
可以换个思路,仅开一个bsp_StartAutoTimer(0, 1)就行。采集够400点了,在里面绘制下

是我过于执着精确时间了,我改了循环400,bsp_StartAutoTimer再设置成500μs,整体程序勉勉强强可以实现1ms一次。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117542
QQ
发表于 2024-11-2 09:38:25 | 显示全部楼层
LONG_ZERO 发表于 2024-11-1 16:43
是我过于执着精确时间了,我改了循环400,bsp_StartAutoTimer再设置成500μs,整体程序勉勉强强可以实现1 ...

还以可以进一步优化优化,界面刷新速度什么的。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-13 18:16 , Processed in 0.039553 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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