Jump to content

    

Aveal

Участник
  • Content Count

    8
  • Joined

  • Last visited

Posts posted by Aveal


  1. 22.02.2021 в 15:10, SaTaN5076 сказал:

    Доброго всем дня. Помогите опознать цифровую однопроводную шину. Автомобиль - Nissan e-note 2019г. Шина между инвертором заднего моста и его мозгами. лог.1 - 12в. НЕ LIN. Снят один пакет. Частота - 20Кгц.

     

    UPO029.jpg

    Добрый день! Чем закончилось? Вообще похоже именно на LIN.

  2. 31.05.2021 в 22:15, TEMPO сказал:

    Пропустил HAL_I2C_Master_Transmit(&hi2c1, IC_ADDR, buf, 2, HAL_MAX_DELAY);

     

     

    Вот так?

     

    
    static const uint8_t IC_ADDR = 0x20 << 1; Adress of IC = 20h
    static const uint8_t REG_TEMP = 0x8D;  // 8Dh READ_TEMPERATURE r 2-byte
    
    int16_t val;
    uint8_t buf[50];
    
    HAL_I2C_IsDeviceReady(&hi2c1, (uint16_t)(IC_ADDR), 2, 2);
    buf[0] = REG_TEMP;
    HAL_I2C_Master_Transmit(&hi2c1, IC_ADDR, buf, 2, HAL_MAX_DELAY);
    HAL_I2C_Master_Receive(&hi2c1, IC_ADDR, buf, 1, HAL_MAX_DELAY);
    
    
    val = (int16_t)buf[0];
    sprintf((char*)buf, "%u \r\n", (unsigned int)val);
    HAL_UART_Transmit(&huart1, buf, strlen((char*)buf), HAL_MAX_DELAY);

     

     

    Удалось в итоге решить проблемы?

  3. 22 минуты назад, WHILE сказал:

    Господа, моя первая попытка поработать с STM.

    Сейчас на этапе выбора чипа. Задача небольшая, хотелось бы что нибудь в корпусе

    поменьше. Вроде подходит STM32F042F4P6 в корпусе TSOP-20, но как всегда одного

    порта не хватает. Правильно ли я понимаю, что ноги PF0-OSC_IN и

    PF1-OSC_OUT можно использовать как GPIO  и рулить ими через GPIOF?      

    Спасибо.    

     

    Да, без проблем. Только это ограничивает возможность подключения внешнего тактирования через эти выводы.

     

    Страницу не обновил, не видел аналогичный уже написанный ответ, прошу прощения.

  4. 4 минуты назад, whale сказал:

    Проще бесконечный цикл на асе и на светодиод с него и измерить, посчитать каждую команду по тактам.

    Ну "проще" видимо у каждого свое :)

  5. 7 минут назад, whale сказал:

    хотелось бы прямой метод а не косвенный

    Есть вывод MCO, на который можно вывести сигнал с одной из внутренних частот процессора, далее уже измерить.

    2 минуты назад, whale сказал:

    таймер работает не от системного тика а от своей шины со своими делителями.

    Все упомянутые частоты строго математически взаимосвязаны через деление и умножение на заранее известные числа:

    562696254_.thumb.png.2ba7095ac75138295503af488bf09953.png

    Таким образом, частота таймера = f(частота тактирования), соответственно частота_тактирования = g(частота_таймера).

     

  6. 22.05.2021 в 08:19, whale сказал:

    Вопрос номер два, как проверить частоту ядра, вроде тактирование выбрал на 64мгц а кажется что команды еле ползают

     

    Ну так вроде как в этом и вопрос, что есть подозрения, что заданное в "настройках" не работает.

  7. Только что, whale сказал:

    это будет понятна частота тактирования таймера а не ядра

    Есть изначальная предполагаемая частота тактирования контроллера. Все остальные частоты, в том числе частоты таймеров рассчитываются из нее. Получив реальную частоту таймера, зная настройки таймера, рассчитываем частоту тактирования ядра.

  8. По поводу частоты тактирования - настрой таймер на некую частоту, по окончанию периода меняй состояние любого вывода, далее сравни реальный период и расчетный. Из разницы, при ее наличии, будет понятна реальная частота тактирования.