3300|4

158

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

奇怪的中断 [复制链接]

我使用IAR v5.4写了一段C代码,基于8962的。里面用到了一个结构体数组,当数组长度小于一个值时,程序是OK的,但是超过这个长度,程序连初始化的过程都不能正常走完( 自动跳入IntDefaultHandler,我查看了一下NVIC,据说是中断号19引起的,也就是定时器中断,可是我有对定时器中断进行处理的函数 )。


我也试着保持那个结构体数组小于那个所谓的“阈值”,同时又申明了一个较大的普通字符型数组,程序也能正常运行。

 

很好奇,这是什么原因引起的?

 

PS:我查看了一下map文件,显示  13344 bytes of readonly code memory

                                                         536 bytes of readonly data memory

                                                       1295 bytes of readwrite data memory

 

希望大家见多识广,能帮我解惑。另外个人经验不足,也不知道上面的信息量够不够,如果上面这些信息不够的话,还请大家明示,先谢谢大家了。

 

 

最新回复

您是不是初始化了定时器中断啊?不知道您程序里对定时器是怎么处理的。  详情 回复 发表于 2011-8-16 14:18
 
点赞 关注

回复
举报

58

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

回复 楼主 Yawness 的帖子

是不是堆栈溢出
你把结构体数组变成全局变量试试看~
 
 

回复

158

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

谢谢。我已经把结构体数组改成全局变量了,但结果是一样的。程序还是会自动跳入IntDefaultHandler,依然是中断号19引起的。

 

 
 
 

回复

131

帖子

0

TA的资源

纯净的硅(中级)

4
 

回复 楼主 Yawness 的帖子

您是不是初始化了定时器中断啊?不知道您程序里对定时器是怎么处理的。
 
 
 

回复

158

帖子

0

TA的资源

一粒金砂(高级)

5
 

原帖由 jkhu 于 2011-8-16 14:18 发表 您是不是初始化了定时器中断啊?不知道您程序里对定时器是怎么处理的。

对,我有使用到定时器,也使用了定时器中断。

 

代码用的都是API函数,应该大同小异,我觉得。

void user_timer_init()
{
   SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);

   TimerDisable(TIMER0_BASE, TIMER_A);
   TimerConfigure(TIMER0_BASE,TIMER_CFG_32_BIT_PER);
   TimerPrescaleSet(TIMER0_BASE,TIMER_A,0);  //时钟不分频,20MHZ
   TimerLoadSet(TIMER0_BASE,TIMER_A,0x4E20);
  
   TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
   TimerIntRegister(TIMER0_BASE,TIMER_A, TIMER0_A_ISR);
   IntPrioritySet(INT_TIMER0A, TIMER_OUT_PRIO);

   IntMasterEnable();
}

void user_timer_start(void)
{
   TimerEnable(TIMER0_BASE,TIMER_A);
}

void TIMER0_A_ISR(void)
{
   TimerIntClear(TIMER0_BASE,TIMER_TIMA_TIMEOUT);
   Fre_count++;
}

 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表