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

KARLSON

Свой
  • Постов

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

  • Посещение

Сообщения, опубликованные KARLSON


  1. снимите галочку run to main

    Использование runtime control modules с IO emulation

     

    Это где всё находиться?

    Вообще да, когда 2 точки останова находятся, то это и происходит. Приходится перед перезапуском или перепрошивкой убирать их.

  2. Здравствуйте. Сделал PCB файл. Хотел сделать чертежи платы, но при импорте в автокаде файла DXF сказал, что испорченный или неполный файл. Раньше с другими платами было всё нормально, а тут что-то мешает. Помогите разобраться.

    Rv2.PCB

  3. Здравствуйте. У меня не ошибка, просто давно мучает один момент. При отладке бывают случаи когда программатор работает на медленной частоте, видно как красный светодиод моргает (примерно 10 Гц). Например когда перепрошиваю программу с установленной точкой останова (вываливается окно, что то про точку останова и я нажимаю Execute (картинку прикрепил)). И бывает когда в IAR нажимаю на какую-нибудь кнопку Step (со стрелочками) в режиме отладки.

    Зачем он уменьшает частоту работы?

    И можно ли это ускорить?

    _____________.bmp

  4. Действительно, проблема со скоростью была. Ни знаю точные цифры частот в контроллере, но при настройке по умолчанию 19200 не совпадали. Стал варьировать (осциллографа то нет)))) в сторону увеличения и ПОПАЛ :08: :disco: . с контроллером согласовал отладочную плату EVB с помощью микросхемы ADM3202. На компе 2 сом порта (один через переходник USB) и от проводов RXD и TXD припаял отводы на 2 ногу ком порта. И так вот наблюдал))))

  5. Здравствуйте. Скажите, а в какой кодировке пишет в терминал модуль sim900b. Думал что в ASCI, но не совпадает.

    дело ввот в чём: модуль подключил к контроллеру, по уарту читаю модуль и одновременно подал сигнал на терминал компа, Нва компе вижу правильные символы, например RDY(в терминале), а в контроллере 0x21 0x45 0x65 (что по таблице получается !Ee). Пробовал из терминала печатать в контроллер, то тут всё правильно и символы совпадают, Скажите пожалуйста в чём причина?

  6. Что-то я совсем не пойму. Прерывание по порту P1, а обрабатываете шестой. Во-вторых, как оно вообще срабатывает? Где строчка разрешения прерывания от изменения порта 1: P1IE = (биты такие-то). Если она где-то стоит, так после обработки прерывания обнулите значение: P1IE = 0(или обнулите тот бит, по которому прерывания не нужны).

  7. что означает не запускается?

    На выходе портов у Вас что? Осциллограф? Светодиоды?

    Код компилируется? По мне так надо int main(void) заменить на void main(void).

    В коде вроде проблем нет, кроме int.

    Через что программируете?

    Пошагово запускать программу пробовали?

  8. Прибор не может мне ответить той же самой командой.

     

    Может.

    Некоторые контроллеры интерфейса (например MCP2515) имеют режим проверки линии. Вы получаете эхо. Если у вас какой-то адаптер специальный готовый купленный, то может у него включено эхо по умолчанию. Хотя, если подумать логически, он не нужен при работе, т.к. можно прочитать некоторый регистр, у которого биты означают те или иные ошибки.

     

    Кстати, про маски: если маски и фильтры приёмного и передающего буферов настроены одинаково, то принимать эхо вы так же будете.

     

    Прибор то какой? Может это анализатор CAN? Так он Вам всё покажет что на шине происходит в не зависимости, Вы послали или нет.

  9. Здравствуйте. Скажите пожалуйста, MT-LINK v8 с какими фирмами производителями контроллеров ARM он работает. Хотелось бы работать с STM32......, LPC.... и LM3S.... на одном отладчике.

  10. Всё. Исправил ситуацию. Ошибка в монтаже приёмника. RX0BF и RX1BF выводы были перепутаны местами.

    И другим примечание.

    Если требуется принимать сообщения только с одним идентификатором, настраиваете фильтр 0 (RXF0) и маску 0 (RXM0) на нужный идентификатор, а фильтр1 (RXF1) и маску 1 (RXM1) на FF FF FF FF, что бы буфер RXB1 не работал. Если RXB1 не настроить, то он всё подряд будет принимать. Зачем лишние действия контроллеру)).

  11. И есть ещё такое поведение:

    Адрес сообщения 00 FF 10 00

    Так вот, Если фильтр RX0 настроить на этот адрес, то не принимает, а если отличный любой другой ,то принимает сообщения.

    Маска RXM0 FF FF FF FF

  12. Здравствуйте. Что бы тем не плодить, напишу здесь. Я думаю в тему будет.

     

    Так вот. Пытаюсь справиться с принятием сообщений.

    Непонятно, каким то образом, регистр RXB0CTRL изменяет свои биты, конкретно биты RXM1 и BUKT.

    В программе он конфигурируется только один раз в режиме конфигурации и принимает только значение RXM1 = 1 (принятие расширенных сообщений, ), BUK = 0 (Запись сообщения из RXB0 в RXB1 запрещена).

     

    Работает система так: устройство на шине посылает 8 сообщений с идентификатором 00 FF10 00.

    Моё устройство (которое не так работает) имеет 8 раз дёргает ногу RX0BF (которая настроена на опускание при принятии правильного сообщения в RXB0). Читаю RXB0 и RXB1 и смотрю: Данные с адресом лежат в RXB1. Регистр RXB0CTRL = 0.

     

    И вот как он это делает ума не приложу.

    Посоветуйте, куда копать.

  13. Здравствуйте. Предлагаю сюда вносить все вопросы связанные с АЦП10 2-го семейства.

    У меня вопрос такой.

    Надо оцифровывать 2 канала P3.0 (A5) и P3.7(A7).

    Хочу за одно вздёргивание бита ADC10SC получить 2 измерения. И что бы эти измерения скопировались в структуру АВ с помощью DTC.

    #include "msp430x21x2.h"
    
    struct _AB
    {
      unsigned int A2;
      unsigned int A1;
      unsigned int A0;
    }AB;
    
    void Pause (unsigned int time) { while (time-- > 0);}
    
    void main( void )
    {
      // Stop watchdog timer to prevent time out reset
      WDTCTL = WDTPW + WDTHOLD;
      P2SEL = BIT6 + BIT7;
      
    // сброс флага "сбой генератора" и запрет прер-ия OFIE при не исправ-ти DC-генератора
      IE1 &= ~OFIE;
      IFG1 &= ~OFIFG; 
    
      // предустановка желаемой частоты DCOCLK = 8MГц
      _BIC_SR(OSCOFF);              // включить генератор LFXT1
      DCOCTL = CALDCO_8MHZ;
      BCSCTL1 = CALBC1_8MHZ;
      BCSCTL1 |= XT2OFF + XTS + DIVA_0; // источник такт-ия MCLK и SMCLK - DCOCLK, MCLK = DCOCTL/1, SMCLK = DCOCTL/1
      BCSCTL3 = LFXT1S_2;
    // инициализация LFXT1
      do  
      {
        IFG1 &= ~OFIFG;
        Pause(5000);
      }while (IFG1 & OFIFG);
    
      BCSCTL2 = SELM_3  //SELM_0  (0x00)   /* MCLK Source Select 0: DCOCLK */
                     +DIVM_0  
                     +DIVS_3; 
      
      ADC10CTL1 =// INCH_5 
                + INCH_7 
              ///  + ADC10DIV_7 
               + ADC10SSEL_2   // MCLK = 8МГц
                + CONSEQ_1
               ;
       ADC10CTL0 |= ADC10SHT_3 
                         //  + MSC              
                          + ADC10ON; 
      
      ADC10AE0 = BIT7 
               + BIT5
                ;
      ADC10DTC0 |= ADC10CT;
      ADC10DTC1 = 2;
      ADC10SA = (unsigned int ) &AB.A2;
      
      ADC10CTL0 |= ENC;
      
      while (1)
      {
        ADC10CTL0 &= ~ENC;
        
        while (BUSY & ADC10CTL1);
        ADC10CTL0 |= ENC + ADC10SC;             // Start sampling
    
        _NOP();
        
      }
    
    }

     

    Но ничего не выходит. Измерения смотрю в Watch.

    Измерять один канал у меня получается. Но не переконфигурировать же мне постоянно модуль.

    Посоветуйте как его настроить?

×
×
  • Создать...