找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1737|回复: 1
打印 上一主题 下一主题
收起左侧

代码中插入数组引起的程序运行异常求解

[复制链接]
跳转到指定楼层
楼主
ID:153596 发表于 2016-12-10 00:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,

小弟我做了一个很简单的协议转换模块,就是从串口2输入一串数据,比如说 0x01, 0x02, 0x03, 0x04.
然后转成另外一组数据从串口1输出,比如说0x05, 0x06, 0x07, 0x08;

刚开始程序一切正常,串口2的中断响应,串口1的数据发送都没有问题。
定时不定时往串口2输入数据,都能从串口1获得相应输出。

后来在程序里加了两个数组,类似与下面的定义:
unsigned char idata Data_Array_1[]={0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
unsigned char idata Data_Array_2[]={0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}

之后,程序似乎就不正常了。
串口2只能响应一次数据输入,第二次再往串口2送数据后,从串口1就再得不到任何输出;
从调试的情况看,似乎当第二次往串口2送数据的时候,串口2的中断函数都没有响应;

但是只要把这两行数组定义注释掉之后,程序运行又恢复正常。

以前也遇到类似的问题,都采取别的方式绕过去了,这次打算打破沙锅问到底,不搞明白不罢休了。
有没有哪位高手指点一下,感激不尽。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:153596 发表于 2016-12-18 10:08 | 只看该作者
沉的很快啊,顶起来!
哪位高手可以给个思路么?
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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