Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Мигающий светодиод в msp430f2013
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
evgenyan
Всем привет!
Пытаюсь запрограммировать мигающий светодиод у msp430f2013 (ez430-f2013). Вот что получил:
Код
#include "io430x20x3.h"
#include <INTRINSICS.H>

int main( void )
{
   #define delay 1000000

  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P1DIR |= 0x01; // P1.0 as output (LED)
  P1OUT = 0x00;
  while (true)
  {
   P1OUT |= 0;
   __delay_cycles(delay / 10);
   P1OUT |= 0x01;
   __delay_cycles(delay - (delay / 10));
  }
}

Скажите, правильный ли это код?
И как его можно проверить?
У меня по заданию нужно написать программу, которая при подключении к USB msp430f2013 будет его определять, и, допустим, после ввода команды, или просто сразу же, заставит мигать светодиод. Как проверить я не понимаю, т.к. вроде бы программа компилируется, но exe файл не создается, а создается с расширением D43.
Пишу код в IAR Embedded workbanch kickstart
eav1978
P1OUT |= 0; заменить на P1OUT &=~ 0x01;

Исполняемый файл здесь не exe.
Идешь в опции->линкер->другой и выбираешь msp430.txt, интел, моторолла, ...
rezident
Если устраивает скважность 1/2, то выбросить вторую команду вывода в порт и оставить только
Код
P1OUT ^= 1U<<0;

А __delay_cycles заменить на работу с таймером. И надежнее (в смысле стабильности и воспроизводимости частоты мерцания) и пользы от этого больше (в плане изучения МК).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.