Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1304570
  • 博文数量: 92
  • 博客积分: 10389
  • 博客等级: 上将
  • 技术积分: 1918
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-10 16:13
文章存档

2014年(1)

2012年(15)

2009年(6)

2008年(37)

2007年(72)

2006年(54)

我的朋友

分类: LINUX

2008-05-06 16:29:13

只记录现象不明原因:
 
条件:     2个缓冲区,一个标志用来区别,串口中断接收的数据是放在那个缓冲区里。
现象:死机,重起
 
------原因内存溢出------:
 
程序中,一缓冲区接收到字符串形式的命令后,切换到另一个缓冲区,做命令的处理以及与外部的通信,此时有一个地方出现了 问题。 具体没去深入追究。。。。
 
 
直接引入  新的改进方法:  取消缓冲区切换的方法,,,保持原来串口中断只用一个缓冲区,而当接收到命令字符串时,复制到另一个缓冲区即可。。。。这样原来程序改动也不大。
 
 
缓冲区应用原则:谁用谁初始化,用完在初始化或者叫清空。
 
 
                结论串口中断 只用一个缓冲区类型为volatile.
 
 
 
 
 
 
      
阅读(3155) | 评论(0) | 转发(0) |
0

上一篇:sim300d error

下一篇:yaffs supported by uboot

给主人留下些什么吧!~~