РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

Форум на ЭЛВО


РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ



  • Страница 2 из 2
  • «
  • 1
  • 2
Архив - только для чтения
Осваиваем микроконтроллер MSP430
Сообщение # 11        
frenele
аватар
  Постов: 30   ОК 
Цитата (skateman)
в авр это тож есть


такого в авр и пик нету. Там таймеры всегда считают до FF или FFFF смотря какой таймер 8 или 16 разрядные. Пока не задействуешь другой режим работы. А у MSP430 этот режим по умолчанию.

Вчера подумал о фьюзах на MSP430, а их там и нет.))

Добавлено (28.12.2012, 18:49)
---------------------------------------------
Рекомендую изучить с начало основной блок тактирования, потому что от него много шишек можно набить. Он не сложный. Просто каждый модуль который используется в вашем проекте надо подключить программно к нужному клоку, а то работать не будет. И будишь сидеть думать почему не работает.

Порты ввода/вывода имеют альтернативные функции. Их надо конфигурировать.

допустим нам нужен ацп, тогда надо порт подключить в ацп.

Или подать шим от таймера. Тоже в настройках портов надо подключить соответствующий пин.

void init_PORTS()
{

//Выход сигнала шим
P1DIR |= BIT6; // пин P1.6 на вывод
P1SEL |= BIT6; // альтернативная функция ШИМ

//Кнопка на пин (другой конец к общему проводу)
P1IE |= BIT3; // на пин Р1.3 разрешаем прерывание
P1IES |= BIT3; // реакция по спаду
P1REN |= BIT3; // подтягивающий резистор к +3,3 v
P1OUT = 0; // Установка порта в "0"
}
Сообщение # 12        
skateman
аватар
  Постов: 2201   Друзья 
Цитата (frenele)
Там таймеры всегда считают до FF или FFFF смотря какой таймер 8 или 16 разрядные

а как же режим СТС? это ведь генерация прерывания при совпадении TCNT и OCR с обнулением TCNT.

Добавлено (28.12.2012, 19:15)
---------------------------------------------
а можно и без прерывания обойтись, если заюзать 14 режим FastPWM для 16-ти битного таймера

Сообщение # 13        
frenele
аватар
  Постов: 30   ОК 
Цитата (skateman)
а как же режим СТС


Oй забыл когда писал.) Ну да у авр есть такой режим. Склероз программиста.
Просто получается у MSP430 таймеры сразу работают в этом режиме.

Ладно выкладываю только что опробована инициализация АЦП

void init_ADC10()
{
ADC10CTL0 &= ~ENC; //устанавливается для начала иницилизации
ADC10CTL1 |= CONSEQ_2 + INCH_4; // циклическое преобразование, подключение на пин P1.4(альтернативная функция)
ADC10CTL1 |= SHS_1; // преобразование инициируется по переполнению таймера ТА0
ADC10CTL0 |= ADC10ON; // Включение модуля ADC10
ADC10CTL0 |= ADC10IE; // разрешение прерывания ADC10
ADC10CTL0 |= ENC;// снимается после иницилизации
}

Ну и обработчик( не забудте разрешить глобальные прерывания)

#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
{
ADC10CTL0 &= ~ADC10IFG; //Сброс флага прерывания
TRData = ADC10MEM; //читаем значение преобразования

}

Добавлено (28.12.2012, 21:37)
---------------------------------------------
У модуля ацп есть блок который может перемещать результат в любое место оперативки. И даже можно массив записать без участия цпу и дма, что очень это интересно.

Сообщение # 14        
skateman
аватар
  Постов: 2201   Друзья 
Цитата (frenele)
без участия цпу и дма

давно интересовало что такое DMA, в описалове про STM встречалось, но расшифровки не видел
Сообщение # 15        
frenele
аватар
  Постов: 30   ОК 
Цитата (skateman)
давно интересовало что такое DMA, в описалове про STM встречалось, но расшифровки не видел


Цитирую с википедии:
"Прямой доступ к памяти (англ. Direct Memory Access, DMA) — режим обмена данными между устройствами или же между устройством и основной памятью (RAM) без участия Центрального Процессора (ЦП)."
Ну к примеру нам надо контролировать уровень напряжения на какой нибудь точки,
но хотелось что бы микроконтроллер не загружался этой задачей. А выполнял другую задачу не мешая контролированию контрольной точки. Да пустим АЦП считывает уровень напряжения, а блок DMA передаёт из АЦП в последовательный интерфейс RS232 это относительное значение уровня напряжение. Блок DMA имеет каналы и их количество ограниченно. Их может быть и несколько и всего один. То бишь один канал можно задействовать на одну функцию передачу данных.

Добавлено (27.01.2013, 12:36)
---------------------------------------------
Теперь как скачать и установить среду разработки IAR Embedded Workbench.
Итак заходим на страницу:
http://supp.iar.com/Download/SW/?item=EW430-EVAL
и скачиваем файл. После установки надо пройти регистрацию.
Запустите IAR License Manager
Ярлык выглядит чёрный ключик на сером кружочке
выберете вкладку License и далее Get Evaluation License
откроется окно License Wizartd
И нажмите на кнопку Register
Откроется интернет страница с регистрацией
На ней поставе переключатель на
Code size limited
IAR Embedded Workbench for MSP430, 4K KickStart Edition, v. 5.51
и далее заполните регистрацию. По почте придёт код который и введёте для активации.
Вот и всё.

Сообщение # 16        
Zeligena
аватар
  Постов: 1   ОК 
frenele, здравствуйте. А как можно на этом микроконтроллере реализовать измерение периода сигнала?
Сообщение # 17        
kotyamba
аватар
  Постов: 3   ОК 
Больше новой инфы о msp430 не будет?
Сообщение # 18        
frenele
аватар
  Постов: 30   ОК 
К сожалению у меня нету пока времени для изучения MSP430. Много всяких дел и много основной работы. Но если у меня время будет выложу еще чего нибудь. Но приходиться изучать отечественные микроконтроллеры и ПЛИС.
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Внимание! Форум переехал на Tehnodium.ru



© 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA