仿真状态下程序可以运行,不仿真时不能运行

2019-07-14 21:34发布

本帖最后由 昊430 于 2017-10-21 17:32 编辑
  1. #include  <io430g2553.h>
  2. #include <in430.h>
  3. //#include  "BoardConfig.h"

  4. void main(void)
  5. {
  6.    unsigned int i;
  7.   //BoardConfig(0xb8);
  8.   BCSCTL1 |= DIVA_2;                        // ACLK/4
  9.   WDTCTL = WDT_ADLY_1000;                   // WDT 1s/4 interval timer
  10.   IE1 |= WDTIE;                             // Enable WDT interrupt
  11.   P1DIR |= BIT6;
  12.   P1OUT |= BIT6;
  13.   for (i = 180; i>0; i--);
  14.   P1OUT &= ~BIT6;  
  15.   
  16.   while(1)
  17.   {
  18.     unsigned int i;
  19.     _BIS_SR(LPM3_bits + GIE);               // Enter LPM3
  20.     P1OUT |= BIT6;                          // Set P3.5 LED on
  21.     for (i = 180; i>0; i--);               // Delay
  22.     P1OUT &= ~BIT6;                         // Clear P3.5 LED off
  23.   }
  24. }

  25. #pragma vector=WDT_VECTOR
  26. __interrupt void watchdog_timer (void)
  27. {
  28.     _BIC_SR_IRQ(LPM3_bits);                 // Clear LPM3 bits from 0(SR)
  29. }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
昊430
1楼-- · 2019-07-15 10:37
dirtwillfly 发表于 2017-10-21 18:13
可能闪灯太快,肉眼看不到

但是仿真模式下我也是全速运行的,没有让它单步运行
dirtwillfly
2楼-- · 2019-07-15 10:49
 精彩回答 2  元偷偷看……
dirtwillfly
3楼-- · 2019-07-15 11:51
或者你运行一下官网的例程,看看还有没有这种情况
//******************************************************************************
//  MSP430G2xx3 Demo - WDT, Toggle P1.0, Interval Overflow ISR, 32kHz ACLK
//
//  Description: Toggle P1.0 using software timed by WDT ISR. Toggle rate is
//  exactly 250ms based on 32kHz ACLK WDT clock source.  In this example the
//  WDT is configured to divide 32768 watch-crystal(2^15) by 2^13 with an ISR
//  triggered @ 4Hz.
//  ACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO
//  //* External watch crystal installed on XIN XOUT is required for ACLK *//       
//
//                  MSP430G2xx3
//             -----------------
//         /||              XIN|-
//          | |                 | 32kHz
//          --|RST          XOUT|-
//            |                 |
//            |             P1.0|-->LED
//
//  D. Dang
//  Texas Instruments Inc.
//  December 2010
//   Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10
//******************************************************************************

#include <msp430.h>


int main(void)
{
  WDTCTL = WDT_ADLY_250;                    // WDT 250ms, ACLK, interval timer
  IE1 |= WDTIE;                             // Enable WDT interrupt
  P1DIR |= 0x01;                            // Set P1.0 to output direction

  __bis_SR_register(LPM3_bits + GIE);       // Enter LPM3 w/interrupt
}

// Watchdog Timer interrupt service routine
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(WDT_VECTOR))) watchdog_timer (void)
#else
#error Compiler not supported!
#endif
{
  P1OUT ^= 0x01;                            // Toggle P1.0 using exclusive-OR
}
xiaoyaodz
4楼-- · 2019-07-15 16:44
程序没有下载进去。
xiaoyaodz
5楼-- · 2019-07-15 20:08
建议楼主使用msp430串口下载程序。
昊430
6楼-- · 2019-07-16 01:24
dirtwillfly 发表于 2017-10-22 15:57
或者你运行一下官网的例程,看看还有没有这种情况
//*************************************************** ...

两种状态下的闪烁情况不一样,下载程序后运行是8秒灭,8秒亮;
仿真状态下差不多是0.5秒灭,0.5秒亮;
仿真状态下和正常运行时的时钟不一样吗?

一周热门 更多>