IAR 程序没跑就飞了,晕呀

bandaoyu 2012-04-20 12:04:30
我用IAR下载程序到MSP430,可以正常下载,但是下载完之后,运行按钮我都没点过,就已经处于运行状态了,只有暂停按钮和软件重启按钮是亮着的。单片机也没有正常工作,点了暂停按钮之后,光标也找不到,只有跑飞的现象。这是什么原因呀?
...全文
420 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbing7 2012-04-26
  • 打赏
  • 举报
回复
430不是一上电第一件事就关看门狗么?
flyindance8564 2012-04-25
  • 打赏
  • 举报
回复
IAR设置一下堆栈 options - general options - stack/heap 我设置的是2048/1024
bandaoyu 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 2 楼 的回复:

引用 1 楼 的回复:
应该是MSP430的系统设置问题,比如说你设成使用外部晶振,但程序中却把外部晶振关掉了就会出现这种情况


找到问题出在哪个地方了,但是不知道原因。

出问题的地方是我下面定义的数组太长了,把数组长度改小,改成100,就没有问题了,为什么呢?
我的ram是16KB,空间是够的呀。
#define UART0_RX_MAXLen ……
[/Quote]
已经找到原因了,是上电编译器初始化RAM 时间太长了,超过了看门狗默认的32ms时间,然后就看门狗触发了。
woshi_ziyu 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:
应该是MSP430的系统设置问题,比如说你设成使用外部晶振,但程序中却把外部晶振关掉了就会出现这种情况


找到问题出在哪个地方了,但是不知道原因。

出问题的地方是我下面定义的数组太长了,把数组长度改小,改成100,就没有问题了,为什么呢?
我的ram是16KB,空间是够的呀。
#define UART0_RX_MAXLen 400 ……
[/Quote]
你可以看一下运行时数组的地址 可以通过使用限定词更改数组存储的地址
woshi_ziyu 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

这两行没看出问题来

不知道是不是别的数据溢出

比如说:有的小标你用了char型,这个只到256,永远也到不了400

所以,程序在哪就出错了
[/Quote]
++
lbing7 2012-04-23
  • 打赏
  • 举报
回复
这两行没看出问题来

不知道是不是别的数据溢出

比如说:有的小标你用了char型,这个只到256,永远也到不了400

所以,程序在哪就出错了
bandaoyu 2012-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
应该是MSP430的系统设置问题,比如说你设成使用外部晶振,但程序中却把外部晶振关掉了就会出现这种情况
[/Quote]

找到问题出在哪个地方了,但是不知道原因。

出问题的地方是我下面定义的数组太长了,把数组长度改小,改成100,就没有问题了,为什么呢?
我的ram是16KB,空间是够的呀。
#define UART0_RX_MAXLen 400 //串口缓冲区最大接收字符数
char UART0_Save_BUF[2][UART0_RX_MAXLen]={0};
dceacho 2012-04-20
  • 打赏
  • 举报
回复
应该是MSP430的系统设置问题,比如说你设成使用外部晶振,但程序中却把外部晶振关掉了就会出现这种情况

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧