Показать сообщение отдельно
Старый 27.10.2016, 09:47   #258
Alekssandr
Старший Пользователь
 
Регистрация: 11.08.2013
Возраст: 35
Регион: 86
Сообщений: 445
Alekssandr is a jewel in the roughAlekssandr is a jewel in the roughAlekssandr is a jewel in the rough
По умолчанию

Заказл плату STM32F3DISKOVERY.
Узнал приятную новость, что под стм 32 есть чтото вроде операционной системы (называется freertos). Работает под тип компьютера на windows. Т.е. есть многозадачность. Если мы на arduino пишем несколько функций, все функции выполняются последовательно. Если использовать freertos они будут выполнятся паралельно. Можно микропрограммы запускать, приостаналивать, закрывать, передавать в них данные, отслеживать в каком состоянии находится программа и т.д. это очень удобно.

Банальный пример: (код на стм будет немного другой,но сути не меняет)
int data=0;
void setup(){
}
void loop()
{
delay();
read();
}
void delay() {
delay(10000) //задержка 10сек
}
viod read(){
data=analogRead(A0); //читаем значение на ацп A0
}

В примере есть 2 функции
1 функция тормозит программу на 10сек
2 функция читает значение ацп с А0 и записывает в data

1) при использовании arduino у вас все зависнет на 10сек и значение ацп вы сможете обновлять 1 раз в 10 сек.

2)при использовании stm32 + freertos у вас эти функции будут выполнятся паралельно, не тормозя весь цикл на 10 сек.

Думаю более менее понятно обьяснил.

Последний раз редактировалось Alekssandr; 27.10.2016 в 10:50.
Alekssandr вне форума   Ответить с цитированием