[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Что за чертовщина с IAR WB msp430 ??? объясните плиз...
Короче попробовал запустить пример IAR-овский на Си
Скомпилися прекрасно - но при пошаговой отладке
в этом куске:
--------------
while(1) // Repeat forever
{
P1OUT |= BIT0; // Set P1.0
delay();
P1OUT &= ~BIT0; // Clear P1.0
delay();
}
--------------
После вызова первого delay(); - отрабатывает его и сразу
переходит опять на - while(1)
Т.е. игнорирует (слепой что ли?) строчки:
P1OUT &= ~BIT0; // Clear P1.0
delay();
Что за бред ???? Посмотрите - может на своем C-SPY прогоните.
Вот весь исходник примера:
/*;******************************************************************************
; MSP430F1121 FET Demonstration Program - Software Wait
;
; Description; This program toggles P1.0. A software wait is used, based
; simply on decrementing a variable. Default Basic Clock settings.
;
; MSP430F1121
; _________________
; /|\| XIN|-
; | | |
; --|RST XOUT|-
; | |
; | P1.0|-->LED
;
; Dale Wellborn
; Texas Instruments, Inc
; December 1999
;******************************************************************************
*/
#include // Function prototypes void delay(void); // Software delay void main(void) P1DIR = BIT0; // P1.0 output while(1) // Repeat forever // Delay very approximately 1 second. void delay(void) unsigned int i;
E-mail:
info@telesys.ru
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
{
P1OUT |= BIT0; // Set P1.0
delay();
P1OUT &= ~BIT0; // Clear P1.0
delay();
}
}
{
// Note: i is an unsigned integer. If not declared unsigned, 65000 in 16 bits
// becomes a negative number, and the loop is executed only once!
for (i = 65000; i > 0; i--);
}
Ответы