打印
[MCU]

请教:为什么特殊功能寄存器中设置的数据会被篡改?

[复制链接]
738|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ygyh|  楼主 | 2020-11-20 13:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
        我们用的是美国TI的msp430g2553,在运行过程中因控制键作用,对某个端口(譬如P2.1)置“1”,可是在没有任何对端口“清零”指令的情况下,端口突然“清零”了……经仿真观察后发现原来对I/O口方向设置的寄存器P2DIR =0x3e;突然被篡改了成了P2DIR =0x00;——也就是原来设置的几个“输出口”都篡改成了“输入口”了。就没了输出能力,相当于输出为“0”了。
        由仿真监控没有发生过单片机系统复位。奇怪的是单片机没复位过,怎么会将P2DIR篡改为0x00的?其它的设置几乎没变。这种情况不是一次两,而是频繁出现……
        没复位,端口方向设置的寄存器P2DIR是怎么被篡改的??????恳请诸位大侠高手指点……致谢!!!!!!!!!!
 

使用特权

评论回复

相关帖子

沙发
LcwSwust| | 2020-11-20 13:41 | 只看该作者
比如操作数组越界         堆栈溢出     

使用特权

评论回复
板凳
ygyh|  楼主 | 2020-11-21 09:13 | 只看该作者
LcwSwust 发表于 2020-11-20 13:41
比如操作数组越界         堆栈溢出

请您能具体说说吗——譬如“比如操作数组越界”是怎么产生的?????

使用特权

评论回复
地板
LcwSwust| | 2020-11-21 09:25 | 只看该作者
ygyh 发表于 2020-11-21 09:13
请您能具体说说吗——譬如“比如操作数组越界”是怎么产生的????? ...

char a[2];
a[100]=0;

使用特权

评论回复
5
ygyh|  楼主 | 2020-11-21 14:31 | 只看该作者

噢。。。。。谢谢

使用特权

评论回复
6
ygyh|  楼主 | 2020-11-21 14:33 | 只看该作者
ygyh 发表于 2020-11-21 14:31
噢。。。。。谢谢

不过。。。。数组之类到还是没越界

使用特权

评论回复
7
zhangmangui| | 2020-11-21 18:01 | 只看该作者
指针跑飞了?

使用特权

评论回复
8
zhangmangui| | 2020-11-21 18:01 | 只看该作者
或者是堆栈不够   飞了   如果在确定没有复位的情况下

使用特权

评论回复
9
zhangmangui| | 2020-11-21 18:02 | 只看该作者
如果是复位了     应该还会跑回到程序置1的情况

使用特权

评论回复
10
ygyh|  楼主 | 2020-11-23 15:12 | 只看该作者
zhangmangui 发表于 2020-11-21 18:01
或者是堆栈不够   飞了   如果在确定没有复位的情况下

我用仿真器监控了。。。。确实没有复位。
请教一下:如果 “堆栈不够” 飞了。。。。怎么弥补呢?恳请指教。。。。。

使用特权

评论回复
11
ygyh|  楼主 | 2020-11-23 15:15 | 只看该作者
zhangmangui 发表于 2020-11-21 18:01
或者是堆栈不够   飞了   如果在确定没有复位的情况下

请教:堆栈不够。。。。怎么来增大堆栈量呢??????

使用特权

评论回复
12
zhangmangui| | 2020-11-23 23:18 | 只看该作者
ygyh 发表于 2020-11-23 15:12
我用仿真器监控了。。。。确实没有复位。
请教一下:如果 “堆栈不够” 飞了。。。。怎么弥补呢?恳请指 ...

工程属性下面找有Heap或stack的大小设置  设大一些

使用特权

评论回复
13
airwill| | 2020-11-24 22:54 | 只看该作者
特殊寄存器,  是对应外设的,  还可能是外设的状态发生变化的标志

使用特权

评论回复
14
ygyh|  楼主 | 2020-11-27 11:16 | 只看该作者
zhangmangui 发表于 2020-11-23 23:18
工程属性下面找有Heap或stack的大小设置  设大一些

谢谢。。。。。。。。。。。。。。。。

使用特权

评论回复
15
ygyh|  楼主 | 2020-11-27 11:17 | 只看该作者
airwill 发表于 2020-11-24 22:54
特殊寄存器,  是对应外设的,  还可能是外设的状态发生变化的标志

谢谢

使用特权

评论回复
16
ygyh|  楼主 | 2020-11-27 11:18 | 只看该作者
本帖最后由 ygyh 于 2020-11-27 11:19 编辑


谢谢诸位的指点。。。谢谢

使用特权

评论回复
17
ygyh|  楼主 | 2020-11-27 11:30 | 只看该作者
zhangmangui 发表于 2020-11-23 23:18
工程属性下面找有Heap或stack的大小设置  设大一些

请问:是这里吗?C:\Users\011\Desktop

使用特权

评论回复
18
ygyh|  楼主 | 2020-11-27 11:33 | 只看该作者
zhangmangui 发表于 2020-11-23 23:18
工程属性下面找有Heap或stack的大小设置  设大一些

C:\Users\011\Desktop

使用特权

评论回复
19
zhangmangui| | 2020-11-28 16:49 | 只看该作者

图片没添加上来

使用特权

评论回复
20
zhangmangui| | 2020-11-28 16:50 | 只看该作者


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

154

帖子

0

粉丝