搜索
bottom↓
回复: 12

求助:MSP430 每次不while(1)循环,执行到特殊位置卡死,...

[复制链接]

出0入4汤圆

发表于 2015-12-18 16:51:30 | 显示全部楼层 |阅读模式
本帖最后由 SCREA 于 2015-12-18 17:03 编辑

如图,
郁闷,为何会执行到这个地方,换了个片子也是。
用的6xxx
  1. void main( void )
  2. {
  3.   // Stop watchdog timer to prevent time out reset
  4.   WDTCTL = WDTPW + WDTHOLD;
  5.   __disable_interrupt();
  6.   ClkInit();
  7.   P4SEL &= ~BIT1; P4DIR |= BIT1;   //蜂鸣器控制脚
  8.   Timer2_A2_Init();
  9. __enable_interrupt();   
  10. while(1)
  11. {
  12.     if( Button_Scan(1) == 1 )
  13.     {
  14.      P4OUT |= BIT1;
  15.       _delay_ms(50);
  16.     }
  17.     else
  18.     {
  19.        P4OUT &= ~BIT1;
  20.     }
  21.   
  22. }
  23. }
复制代码
  1. 定时器代码
  2. void Timer2_A2_Init(void)
  3. {
  4.   TIMER2_A2->CCR0 = 409;                                                    //4096/10 = 100ms
  5.   TIMER2_A2->CTL |= 0x01c2;                                                  //ACLK、32768/8=4096中断开启
  6.   TIMER2_A2->CNT = 1;                                                          //定时器中的值,不能为0,
  7.   TIMER2_A2->CCTL0 |= CCIE;
  8.   TIMER2_A2->CTL |= 0x10;                                                    //Up mode
  9. }
  10. #pragma vector=TIMER2_A0_VECTOR
  11. __interrupt void TIMER2_A2_ISR(void)
  12. {
  13.      P4OUT |= BIT1;
  14. }
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入22汤圆

发表于 2015-12-18 17:00:05 | 显示全部楼层
你是说main里面那个while(1)?那不是很正常吗,cpu只知道取指令执行指令,懂个屁你运行到哪里了,没有while的话main完了就是未知指令了不hardfault才奇怪了

出0入4汤圆

 楼主| 发表于 2015-12-18 17:02:58 | 显示全部楼层
本帖最后由 SCREA 于 2015-12-18 17:09 编辑
jiaowoxiaolu 发表于 2015-12-18 17:00
你是说main里面那个while(1)?那不是很正常吗,cpu只知道取指令执行指令,懂个屁你运行到哪里了,没有whi ...

  1. while(1)
  2. {
  3.     if( Button_Scan(1) == 1 )
  4.     {
  5.       BUZZER_OnOrOFF(1);
  6.       _delay_ms(50);
  7.     }
  8.     else
  9.     {
  10.       BUZZER_OnOrOFF(0);
  11.     }
  12.   
  13. }
复制代码


源代码是这个,我上传删掉了

=====================
主要是一开定时器2或1就 跳到那个地方了。 除非在中断设个断点,还能再次进入中断。去掉断点再全速执行就飞出去了

出0入0汤圆

发表于 2015-12-18 19:24:06 | 显示全部楼层
TI的430debug的时候就是这个样子,感觉好像断点停止的时候定时器没有停,中断服务还在不停的压栈。这样再单步一次就飞了。

出0入0汤圆

发表于 2015-12-18 22:55:17 来自手机 | 显示全部楼层
那个定时器的用法,再看看例程的。

先把例程跑完再说。

出0入0汤圆

发表于 2015-12-18 22:56:31 来自手机 | 显示全部楼层
yangsen 发表于 2015-12-18 19:24
TI的430debug的时候就是这个样子,感觉好像断点停止的时候定时器没有停,中断服务还在不停的压栈。这样再单 ...

不可能这样,如果这样还仿真个毛线啊。

430每个芯片都有模块例程。

出130入20汤圆

发表于 2015-12-18 23:23:54 | 显示全部楼层
不while(1)不同的芯片往下执行貌似处理还不一样,有的芯片会跳回起始地址再执行

出0入0汤圆

发表于 2015-12-18 23:44:16 | 显示全部楼层
lihuyong 发表于 2015-12-18 22:56
不可能这样,如果这样还仿真个毛线啊。

430每个芯片都有模块例程。

我用过msp430f149/249/447/449都是这个样子。不过这几块料都是JTAG接口的,SBW接口的会不会这样不清楚。

出0入4汤圆

 楼主| 发表于 2015-12-19 09:43:51 | 显示全部楼层
lihuyong 发表于 2015-12-18 22:56
不可能这样,如果这样还仿真个毛线啊。

430每个芯片都有模块例程。

6723 的例程哪里的?TI找了半天,找不见,而且好卡啊

出0入0汤圆

发表于 2015-12-19 11:15:47 来自手机 | 显示全部楼层
SCREA 发表于 2015-12-19 09:43
6723 的例程哪里的?TI找了半天,找不见,而且好卡啊

6723有例程。

你进主页搜索,F6723,点击进入产品项,

然后在具体产品里面就可以看见“工具与软件”,在软件那个下面第一个就是672*,673*的例程。

出0入0汤圆

发表于 2015-12-20 08:56:12 | 显示全部楼层
yangsen 发表于 2015-12-18 23:44
我用过msp430f149/249/447/449都是这个样子。不过这几块料都是JTAG接口的,SBW接口的会不会这样不清楚。 ...


我用ST-Link 仿真STM32L053时也会出现类似情况:
       

有个别断点被仿真器忽略,需要停下来重新设置该断点才行,而且IAR FOR ARM还是V7.3呢!

出35入0汤圆

发表于 2015-12-20 09:29:01 | 显示全部楼层
前几天用MSP40G2553也是,跑着跑着飞了.
试着用了下RUNTIME LIBRARY,选了什么eabi.好像就没飞了.
不过TI的调试起来挺费劲.
上次弄CC2530那个lib,弄得汇编不会编.

出0入4汤圆

 楼主| 发表于 2015-12-21 11:39:08 | 显示全部楼层
jiaowoxiaolu 发表于 2015-12-18 17:00
你是说main里面那个while(1)?那不是很正常吗,cpu只知道取指令执行指令,懂个屁你运行到哪里了,没有whi ...

谢谢回答。 之前的问题解决了,是我的过错。开了bit1  TAIE这个中断。我想问下您如下3个问题:

1: TAIE的中断入口地址是多少啊?  

2: 进入中断不必要清 中断标志位吧?

3:
  1. #pragma vector=TIMER2_A0_VECTOR
  2. __interrupt void TIMER2_A0_ISR(void)
复制代码

其中“TIMER2_A0_ISR”可以写成任意的 名字吧???  还有,为何要这样写?可以换个写法吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 17:05

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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