新手上路
- 积分
- 36
- 金钱
- 36
- 注册时间
- 2014-6-3
- 在线时间
- 1 小时
|
5金钱
软件模板:原子的寄存器工程模板
现象描述:定时器中断方式对4路AD采集,定时周期为2MS,分别存入对应的4个缓存数组;1个串口,中断方式接收数据并存入对应的缓存数组。所有数据都采用循环回路方式存储在缓存数组中,也就是当存满时从最低字节存储,覆盖以前的数据,所以不存在数组越界造成死机。在MAIN主程序中采用循环查询方式处理4个AD缓存和串口缓存里面的数据,并将AD数据和串口数据打包通过另外一个串口发送。在同时对AD采集和串口接收的时候,程序莫名死机;而单独AD采集数据或者串口接收数据,并打包数据通过另外一个串口发送,程序不会死机。
另外,之前也是这个工程,所有程序和硬件都一样,只是之前只采集两路AD,也出现过类似的莫名死机,也是尝试过很多方法,最后修改程序,在声明某个数组的指定存储位置,问题得以解决,从没出现过死机。
尝试过的方法:在论坛中查过很多帖子,也尝试过类似的推荐,都无济于事,比如:1,把所有函数里面的数组全部放到外面,成为全局变量;2,修改启动文件,把堆栈改大。
不知道原子兄做项目的时候有没有也碰到类似的问题,望赐教!谢谢!
|
|