Перейти к содержанию

Make_Pic

Свой
  • Публикаций

    779
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Make_Pic

  • Звание
    Знающий
  • День рождения 04.03.1958

Контакты

  • Сайт
    http://tqdesign.narod.ru

Информация

  • Город
    Россия, Пермь
  1. режим LPM0

    Использую режим засыпания LPM0 -> В главном цикле есть процедуры, которые работают не по прерыванию: Как разбудить проц, выйти из LPM0, выполнить процедуры главного цикла и опять уйти в спячку - Как это лучше сделать? Прерывания есть по таймеру - 10мс тик, но перегружен процедурами, требующих точных временных отсчетов.
  2. Понятно, спасибо! Выводов свободных нет, поэтому придется через прерывания делать.
  3. Скажите пожалуйста, как таймером Timer A останавливать Timer B? Только через прерывание можно?
  4. Не совсем понял, что вы делаете с полученной дельтой в прерывании. И если я правильно понял, таймер считает на переполнение от ACLK DCO - RC генератора, А таймер И отчего запущен - у вас оба таймера тактируются от ACLK (TACTL = TASSEL1, TBCTL = TBSSEL1) - где стабильный кварцеванный источник? Как вы калибруете тактовый сигнал?
  5. controller_m30 вы правы!!! Я использую режим инверсного включения и встроенный делитель на резисторах. Мне нужно так для функционала схемы. А как вы показали мне на первой картинке, в этом режиме входной мультиплексор заканчивается внешним входом OA0I2. Придется менять разводку и управлять клавиатурой пинами с разных портов. Большое спасибо!
  6. При входе AO1I0 - на выходе нет шума, и когда ко входу подкл. сигнал - на выходе нормальный сигнал без искажений ОП-к работает, запрограммировал вход AO1I3 - на выходе небольшой шум работы проца и когда подаю сигнал к входу - на выходе еле еле его слышно. Программирование регистра ADC10AE1 - 7 бит (для этого вывода) ничего не дает. Попробовал запрограммировать вход AO1I2 (аналогично как делал с нулевым ОП) то же работает нормально вход. Короче полная аналогия с нулевым ОПом.
  7. однофигственная фигомедия - OA0I2 работает без дополнительных битодвижений, а OA0I3 никакие ADC10AE1.y не помогают :( Первый раз сталкиваюсь с такой дурью... :(
  8. Перебросил сигнал на пин 27 OA0I2 - РАБОТАЕТ!!! Что за фигня с пином 22 OA0I3??? В еррате об этом не слова!
  9. Продолжаю "сражаться" с MSP430F2274 - в нем два операционика. Пытаюсь их программировать: Когда устанавливаю для OA0 (нулевого) инверсный вход на пин 10 OA0I1, то он нормально работает с входа на выход: OA0CTL0 = OAN_0 | OAP_1 | OAPM_2 | OAADC1; //OAN_0 - передача, OAN_3 - DTMF OA0CTL1 = OAFBR_2 | OAFC_6; Когда пытаюсь подключить к инверсному входу пин 22 OA0I3 (он же OAxIB по даташит), то на выходе усилителя сигнала нет (на входе есть): OA0CTL0 = OAN_3 | OAP_1 | OAPM_2 | OAADC1; //OAN_0 - передача, OAN_3 - DTMF OA0CTL1 = OAFBR_2 | OAFC_6 В чем проблема может быть? Кто нибудь здесь программировал встроенные оп. в MSP430?
  10. Спасибо, я так примерно и делаю, но не работает - вы можете привести здесь кусок своего кода?
  11. FLL нет и не будет -помечтать... Совместная - это когда работает один таймер от кварца, а другой от DCO. Подчеркиваю - работают, а не один работает, а другой по какой то неясной причине не запускается. Про стабильность - мне достаточно периодически (перед запуском подпрограммы, которая формирует время, частоту - требуется и точность +/- 0.5%) замерить стабилизированным кварцем таймером частоту DCO (TIMERA время 10мс от кварца, TIMERB тактируется от DCO 250кГц) количество импульсов - это будет поправочный коэффициент на определенный промежуток времени до следующего замера. Повторяюсь уже - опять непонятно? P.S. Не в тему - где сейчас Rezident? - Реально дельные советы по MSP430 здесь давал. :( Вымерли Гуру по MSP430 :(
  12. Процессор MSP430F2274 тактируется от DCO 1МГц/4 = 250кГц, но частота RC генратора - DCO нестабильна от температуры и напряжения. Использование калибровки резисторов с последующей записью в калибровочную область памяти не подходит из за длительности процедуры и записи во флеш периодической. Выбран вариант поправочного коэффициента- делителя, который измеряется подсчетом импульсов частоты MCLK DCO 250кГц таймером TIMER B. Временной интервал подсчета формирует TIMER A от 8МГц кварца. Не могу сделать совместный запуск таймеров TIMER A и TIMER B - Подскажите пожалуйста как это лучше сделать? Заранее спасибо!
  13. Переключение XT1 <-> DCO Как сделать?

    1) Если я тактирую периферию - TIMER A и B от SMCLK кварца 8МГц, а MCLK - процессор от DCO 250кГц? насколько много будет потреблять кварц и тактируемые таймеры - сколько добавится потребляемый ток к 250мкА процессора? 2) Вроде как частоты асинхронные от кварца и тактирование процессора - как правильно считывать состояние TAR регистра?
  14. Спасибо за совет, но хотелось не делать кучу операций через дефайны, сбрасывая и устанав левая конкретные биты, а делать функцией, используя дефайны из io430f2272.h. Так же действия над группой бит. Возможно ли использование битовых структур? Примеры я не нашел.
  15. Вопросы спецам по MSP430 (сильно не пинайте, с MSP430 раньше не работал, доки читаю): 1) После сброса MSP430F2274 потребляет ток ~150мкА. - Какие биты установлены в DCOCTL, BCSCTL1,2,3 после сброса? Пытаюсь получить такой же ток установкой регистров - то ~600мкА. Как правильно запрограммировать эти регистры для 1МГц MCLK с минимальным потреблением? void SetLowPowerMode() { BCSCTL1 |= XT2OFF | DIVA_3; // ACLK =8/8 =1МГц // BCSCTL1 &= ~XTS; // LFXT1 = LF XTAL BCSCTL2 |= DCOR; // Rosc BCSCTL1 &= ~(RSEL1 + RSEL0); // RSEL = 4 } 2) И здесь же: необходимо периодически включать внешний кварц на 8МГц для формирования синуса PWM и потом опять включать DCO 1МГц - Как это правильно сделать? 3) И последнее: необходимо в режиме тактирования от внешнего кварца 8МГц по прерываниям таймера 5-10мс выходить из LPM3 опрашивать состояние портов и обратно возвращаться в LPM3 для низкого потребления. Как лучше это реализовать?