Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Максимум от MSP430
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
ANTPro
Имеется MSP430F149 нужно сделать чтоб на выводах порта 6 была разная частота (от 1MHz и ниже)
Пока даже частоту не получается правильно задать sad.gif
Нужно для каких-то отладочных целей.
Делаю так:
#include <signal.h>
#include <io.h>
#include <stdlib.h>
#include <stdio.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
DCOCTL = DCO0 + DCO1 + DCO2; // Max DCO
BCSCTL1 = RSEL0 + RSEL1 + RSEL2; // XT2on, max RSEL
BCSCTL2 |= SELS; // SMCLK = XT2 подключен кварц на 4MHz

P6SEL = 0x00;
P6OUT = 0x00;
P6DIR = 0xFF;

for(;;)
{
P6OUT = 0x00;
P6OUT = 0x01;
}
}
Получается очень маленькая частота почему?
PS: Ногами не пинать :о)
rezident
А "очень маленькая частота" это сколько? В граммах, литрах или попугаях. При ваших параметрах инициализации модуля тактирования на P6.0 должна получаться частота около 500кГц.
ANTPro
Ну столько и получается. Сообственно как сделать больше? Например 1Mhz. Если Делить дальше то получается маловато... (Делить на 2)
rezident
При совокупности ваших условий а) тактовая = DCOmax, б) программно, с) на MSP430F149 получить выходную частоту 1МГц или выше - никак. Только с помощью аппаратного модуля таймера (TimerA или TimerB). Дискретность установки будет кратна 1/TACLK или 1/TBCLK, а максимальная частота соответственно TACLK/2 или TBCLK/2. Причем TACLK и TBCLK могут быть внешними сигналами с частотой до 10МГц.
Собственно вам видимо нужно внимательно почитать User's Guide. http://www.gaw.ru/html.cgi/txt/doc/micros/msp430/arh/11.htm
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.