цифровая электроника
вычислительная техника
встраиваемые системы

 



Насколько быстро работает Raspberry Pi Pico на коде Arduino и Micropython

Автор: Mike(admin) от 3-06-2024, 03:55

С появлением Arduino и Micropython в мире микроконтроллеров все стало намного интереснее и проще, но в то же время, возможно, все стало более «медленным». Дело в том, что дополнительный код (Overhead) Arduino и micropython, заставляют микроконтроллер тратить больше времени на выполнение каких-либо действий. По крайней мере, так говорят специалисты. Но мы попробуем разобраться в этом сам.


Насколько быстро работает Raspberry Pi Pico на коде Arduino и Micropython

Имеется идея: узнать, сколько времени требуется входному сигналу Raspberry Pi Pico для активации выхода. Но для чего? Ну, чтобы понять, на какой максимальной частоте может работать код Arduino или Micropython.


Мы подключили кнопку к контакту 16 Raspberry Pi Pico, а светодиод – к контакту 17. Для кнопки не требуется внешний резистор, потому что мы активировали ее внутреннюю подтяжку к земле.


Насколько быстро работает Raspberry Pi Pico на коде Arduino и Micropython

Код для Micropython:



from machine import Pin
import time
led = machine.Pin(17, machine.Pin.OUT)
button = Pin(16, Pin.IN, Pin.PULL_DOWN)
led.off()
while True:
         if(button.value()):
             led.on()
         else:
             led.off()

Код для Arduino:



const int buttonPin = 16;
const int ledPin = 17;
int buttonState = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT_PULLDOWN);
}
void loop() {
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

Используя двухканальный осциллограф, мы поместили канал 1 на кнопку, а канал 2 на светодиод. Затем мы настроили триггер на канал 1 (кнопка) и нажали кнопку. Измерения осциллографа ниже показывают, что код Arduino может выполнить переход от кнопки к светодиоду за 2 мкс, тогда как код Micropython занимает 18 мкс.


Насколько быстро работает Raspberry Pi Pico на коде Arduino и Micropython

Это означает, что микропитон примерно в 9 раз медленнее кода Arduino, по крайней мере, для этого конкретного кода. Теоретически код Arduino может работать на частоте 500 кГц (1/2 мкС), а микропитон может работать на частоте 55,5 кГц (1/18 мкС). Во встраиваемых системах (особенно критических) такое время иногда неприемлемо, системы могут реагировать гораздо быстрее. Наши измерения доказывают, что некоторые языки недостаточно быстры для определенных приложений.




© digitrode.ru


Теги: Raspberry Pi Pico, Arduino, MicroPython




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий