你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 997|回复: 0

求助,STM8寄存器配置值被自动修改的奇怪问题!

[复制链接]

1

主题

0

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2014-5-17 20:06:26 | 显示全部楼层 |阅读模式
     我在开发一个电机控制程序,STM8105S的GPIO在main函数的开始便进行了一次配置,除TLI(PD7)管脚外,其他所有的输入Port口均禁能外部中断。剩下的代码中,没有任何对 GPIO的输入输出、外部中断控制寄存器做配置的操作。
     可是发现了一个奇怪的问题:我的代码跑到一定时间后,突然进入了INTERRUPT_HANDLER(EXTI_PORTE_IRQHandler, 7)的外部中断处理程序,并且一直死在其中,不能跳出。于是此时我通过单步调试查了一下GPIOE的寄存器配置,发现GPIOE的配置被修改了!允许外部中断了。可我真的没有开放过GPIOE的外部中断,似乎是寄存器的值自动被篡改。调试中也还发现,每次调试被篡改的值还不一样。
     我一直在想,是不是因为我的变量定义太多了(我有一个8位400个元素的数组,还有其他一些变量),导致堆栈溢出,从而影响了寄存器的值呢?一直不解,希望高手解答一下!谢谢!
回复

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版