这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 通讯及无线技术 » 关于数据溢出

共9条 1/1 1 跳转至

关于数据溢出

工程师
2015-05-11 16:34:24     打赏

只要有数据就进入中断接收数据,虽然在一直不断的接收数据,但是程序设计的是,只有每5秒钟才会存储一次数据。不知道大家理解我的意思没,简单的说就是,接收中断里在不定时间里接收数据,但是数据的存储是每隔5秒钟存储一下,那数据在一直接收的时候,就会出现溢出的现象(不知道这样理解是不是正确的)。那数据溢出对于整个程序是否有影响呢。

请各位百忙之中给我点建议,谢谢。



工程师
2015-05-11 16:45:54     打赏
2楼

调试的是单片机的串口中断?如果是可以给一个足够大的数据缓冲区试试


高工
2015-05-11 16:46:18     打赏
3楼
如果是51单片机,那么在串行接受的过程中,新来的数据会覆盖掉原来的SBUF中的数据,对于5秒钟进行一次的数据存储来讲,本身sbuf中的数据只是临时性的,并不占用系统内存的资源。因此应该是没有影响的 希望对你能有用

高工
2015-05-11 17:06:04     打赏
4楼

建立两个缓冲区。

当第一个缓冲区满了,切换到第二个缓冲区,同时置位标志位;

当第二个缓冲区满了,切换到第一个缓冲区,置位另一个标志位;

在主函数中检测到标志位则进行相应缓冲区数据处理,处理结束后复位标志位。


院士
2015-05-11 21:12:25     打赏
5楼

楼上几位谈的很有参考价值。

处理数据缓存也不外乎这几种方法,可楼主也要想一想为什么要设计成为每5秒一存数据,而不是每秒存一次缓冲区数据


院士
2015-05-11 21:53:10     打赏
6楼
    楼主这好像是在搞一个“科研项目”样啊,好几个问题都围绕着单片机....。祝一切顺利。

院士
2015-05-12 09:21:56     打赏
7楼
问完问题,楼主跑了~~~

高工
2015-05-13 20:38:59     打赏
8楼
我的意思是,不定时处理数据,只要某个缓冲区满了,就处理这个缓冲区的数据。在处理的时候,由另一个缓冲区暂存数据

工程师
2015-05-14 08:56:55     打赏
9楼
让四轴飞的想法很好啊,多个缓冲期多个标志位。

共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]