delayMicroseconds не работает на STM32F103C8T6

Из-за поддельного модуля STM32F103C8T6 на рынке функция delayMicroseconds работает быстрее, чем ожидалось, когда я ожидаю задержку в 1000 мкс, я получаю задержку в 500 мкс. Есть ли лучший метод, например, создать отдельный модуль для подсчета микросекунд с помощью микротаймера? Или есть другие правильные загрузчики, кроме этого. Я использую Arduino IDE для программирования STM32F103C8T6

, 👍0

Обсуждение

Отклонение в 2 раза кажется слишком большим. У меня нет опыта работы с процессорами ARM, но я видел такие проблемы с микроконтроллерами на базе AVR, когда частота, установленная фьюзами, отличалась от той, что была установлена в Arduino IDE. Так что микроконтроллер работал на другой частоте. Вы уверены, что работаете на правильной частоте?, @chrisl


1 ответ


-1

Рассматривали ли вы возможность использования RTC? Что-то вроде прорыва DS1307 с коммуникациями I2C предоставит вам точное время. https://www.bobmixon.com/2020/03/часы реального времени -и-ардуино/

,

Как бы вы сделали задержку в 1000 мкс с DS1307?, @Edgar Bonet

Хороший вопрос ... ОП написал «мкс», а я прочитал «мс». ржу не могу, @Bob