-
Постов
8 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Aveal
-
-
Опубликовано · Изменено пользователем Aveal · Пожаловаться
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);
Удалось в итоге решить проблемы?
-
Опубликовано · Изменено пользователем Aveal · Пожаловаться
22 минуты назад, WHILE сказал:Господа, моя первая попытка поработать с STM.
Сейчас на этапе выбора чипа. Задача небольшая, хотелось бы что нибудь в корпусе
поменьше. Вроде подходит STM32F042F4P6 в корпусе TSOP-20, но как всегда одного
порта не хватает. Правильно ли я понимаю, что ноги PF0-OSC_IN и
PF1-OSC_OUT можно использовать как GPIO и рулить ими через
GPIOF?
Спасибо.
Да, без проблем. Только это ограничивает возможность подключения внешнего тактирования через эти выводы.
Страницу не обновил, не видел аналогичный уже написанный ответ, прошу прощения.
-
4 минуты назад, whale сказал:
Проще бесконечный цикл на асе и на светодиод с него и измерить, посчитать каждую команду по тактам.
Ну "проще" видимо у каждого свое :)
-
7 минут назад, whale сказал:
хотелось бы прямой метод а не косвенный
Есть вывод MCO, на который можно вывести сигнал с одной из внутренних частот процессора, далее уже измерить.
2 минуты назад, whale сказал:таймер работает не от системного тика а от своей шины со своими делителями.
Все упомянутые частоты строго математически взаимосвязаны через деление и умножение на заранее известные числа:
Таким образом, частота таймера = f(частота тактирования), соответственно частота_тактирования = g(частота_таймера).
-
22.05.2021 в 08:19, whale сказал:
Вопрос номер два, как проверить частоту ядра, вроде тактирование выбрал на 64мгц а кажется что команды еле ползают
Ну так вроде как в этом и вопрос, что есть подозрения, что заданное в "настройках" не работает.
-
Только что, whale сказал:
это будет понятна частота тактирования таймера а не ядра
Есть изначальная предполагаемая частота тактирования контроллера. Все остальные частоты, в том числе частоты таймеров рассчитываются из нее. Получив реальную частоту таймера, зная настройки таймера, рассчитываем частоту тактирования ядра.
-
По поводу частоты тактирования - настрой таймер на некую частоту, по окончанию периода меняй состояние любого вывода, далее сравни реальный период и расчетный. Из разницы, при ее наличии, будет понятна реальная частота тактирования.
Помогите опознать шину
в АВТО электроника
Опубликовано · Пожаловаться
Добрый день! Чем закончилось? Вообще похоже именно на LIN.