ADXL345和STMF4中断设置问题

2019-07-20 04:58发布

我ADXL345传感器的中断是当有数据更新时发生高或低电平的中断口变化,直到数据被单片机采集完后才复位,继续循环下次数据更新。
我程序是写成发生中断之后采集了,之后还需要做些处理的,而我看中断设置只能设置成上升沿或下降沿触发。
那如果我在数据处理这段时间,传感器又做出了电平变化,那我单片机数据处理完不是就接受不到中断了吗?
这种数据处理方法是不行的是吗?还是我对中断方式有误解?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
xuande
1楼-- · 2019-07-20 10:52
我要学习嵌入式 发表于 2017-1-10 15:08
谢谢你的回复。我本是想利用中断对数据采集,然后放到个数组里,然后串口发生到电脑上,用LABVIEW去看下 ...


数据显示,本身就是非常非常慢的设备,还能指望多高的“实时性”?

处理方法很多,思路很多,和数据格式、编码有关。
我一般是这样:
自己建立几个指针来管理缓冲区,中断一次存一个数据,库存量加一,退出;
在main里面判断库存量的值,然后根据数据特点进行处理。

这种数据处理的思路和CPU型号关系不大。


xuande
2楼-- · 2019-07-20 11:43

你理解没错。
所以,呆在中断内的时间越短越好,一般只做必要的工作,
比如把数据转存一下,立刻退出,以后的处理放在main中进行。

这样最优化处理以后所耗费的时间,就不能再少了,
这时要对使用方法提出要求,即外部设备两次中断间隔不能少于这个时间。

如果外部设备要求高,就必须考虑其他方法了。

CPU很多中断都要这样处理。

我要学习嵌入式
3楼-- · 2019-07-20 16:47
 精彩回答 2  元偷偷看……
我要学习嵌入式
4楼-- · 2019-07-20 20:32
xuande 发表于 2017-1-10 17:07
数据显示,本身就是非常非常慢的设备,还能指望多高的“实时性”?

处理方法很多,思路很多,和数据 ...

像探索者给的一些源程序里 那个串口例程,在接收到数据后,进行了些协议的确定,(最后回车表示结束)判断它的标志位这些,代码比较少的是不会影响到下一次中断接收的?就是不会丢失到数据,是吧?越短的代码处理风险越低,可以DEBUG计算下那个运行时间。还有个问题,为什么通信中断不需要消除标识位的。而 IO口的要加这个“EXTI_ClearITPendingBit(EXTI_Line1); //清除LINE1上的中断标志位 ”是清除中断标识位吗?
xuande
5楼-- · 2019-07-20 22:34
 精彩回答 2  元偷偷看……
leasun
6楼-- · 2019-07-20 22:36
 精彩回答 2  元偷偷看……

一周热门 更多>