Будет ли Arduino UNO, работающий на частоте 16 МГц, связываться с UART/I2C с STM32, работающим на другой частоте?

Планирую подключить Arduino UNO по I2C/UART с контроллером на базе STM32F334K8T6, частота которого будет около 20мГц и выше.

Скажите, влияет ли разница в тактовых частотах микроконтроллеров на работу шин между ними?

Скорость шин будет равна. (UART 115200 бод / I2C 100 кГц)

, 👍0

Обсуждение

20 миллигерц? Я предполагаю, что вы имеете в виду мегагерц или МГц с большой буквы., @Edgar Bonet


1 ответ


Лучший ответ:

3

Скажите, влияет ли разница в тактовых частотах микроконтроллеров на работу шин между ними?

Нет. Или не очень. Это может повлиять на точность генерации тактовых импульсов1, что может сказаться на очень высоких асинхронных скоростях передачи данных, но в остальном нет.

Для синхронной связи все синхронизируется с часами протокола связи, поэтому часы процессора не имеют значения.


1: Скорость передачи обычно рассчитывается как целочисленное деление системных часов. Различные системные часы дают разные результаты для расчета делителя скорости передачи, что приводит к незначительно разным скоростям передачи. Разные скорости передачи данных будут иметь разные проценты ошибок на разных системных часах. На низких скоростях это не имеет заметного эффекта. На высоких скоростях (миллионы бит в секунду) могут возникать ошибки.

,

Majenko, спасибо за ответ!, @Delta

Хороший исчерпывающий ответ. <voted> Вы дали простой ответ «да/нет», а затем добавили еще несколько нюансов, не скрывая природу ответа «не имеет значения» верхнего уровня. Отличная работа. (По-прежнему.), @Duncan C