Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запись во флеш(+)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
yuragv
запускаю MSP430F2234 от DCO на частоте 8МГц.
выставляю fFTG=444кГц.

FCTL2 = FWKEY+FSSEL_2+FN4+FN0;

пишет во флеш с ошибками.


выставляю fFTG=1.6 МГц.

FCTL2 = FWKEY+FSSEL_2+FN42;

пишет нормально.

По даташиту положено fFTG=255 .. 476кГц
Дмитрий К.
у вас источником частоты выбран SMCLK (FSSEL_2),
а чему равна SMCLK?
yuragv
Цитата(Дмитрий К. @ Oct 19 2011, 11:41) *
у вас источником частоты выбран SMCLK (FSSEL_2),
а чему равна SMCLK?

да. FSSEL_2. 8МГц

в первом посте была ошибка

вместо FCTL2 = FWKEY+FSSEL_2+FN42;
читать FCTL2 = FWKEY+FSSEL_2+FN2;
rezident
Цитата(yuragv @ Oct 20 2011, 17:19) *
да. FSSEL_2. 8МГц

Это вы так думаете, что там 8МГц. А я вот подозреваю, что у вас дефолтные 1МГц. Потому и получается, что при 1МГц/(17+1)=55,555кГц не работает, а при 1МГц/(4+1)=200кГц уже худо-бедно пытается писать. Не нужно тренировать нашу телепатию. Просто приведите весь код, включая инициализацию источников тактирвоания.
jorikdima
Или на ногу МК выведите SMCLK и осцилоскопом гляньте.
yuragv
привожу код инициализации

#define XTAL 8000000
#define UART_SPEED 19200

#define HI_WORD_BYTE(SrcWord) ((byte)((SrcWord) >> 8))
#define LO_WORD_BYTE(SrcWord) ((byte)(SrcWord))




// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;

DCOCTL = CALDCO_8MHZ;
BCSCTL1 = CALBC1_8MHZ;

FCTL2 = FWKEY+FSSEL_1+FN2;

// init uart

UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = LO_WORD_BYTE(XTAL/UART_SPEED);
UCA0BR1 = HI_WORD_BYTE(XTAL/UART_SPEED);
UCA0MCTL = UCBRS2 + UCBRS0; // Modulation UCBRSx = 5
UCA0CTL1 &= ~UCSWRST;

прошу заметить что уарт работает нормально на 19200

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