не дождался когда человек наконец проверит. потестил коды и заодно свой китайский лог. анализатор
1 вариант: 1,043 мгц
2 вариант: 1 мгц. все таки запись PORTB = 1<<3 быстрее работает чем PORTB |= 1<<3, хоть и кто то говорит менее правильная
ввобще поразительно что пауза между импульсами такая огромная, хз что там компилятор накомпилировал
3 вариант: digitalWrite. все и так знали что эта функция медленная
4 вариант: более чем в 2.5 раза быстрее. хотя это таже функция из которой просто выкинул "лишнее"
5. вариант. тут все сложнее
это 13 пин, clock. все таки промежуток между посылками большой, при том что данные не подготавливаются, они уже готовы и мк "больше вообще ничего не делает" )))
data 11 пин. не вдавался в подробности spi, но но длинная еденица в конце предполагаю означает конец посылки
к 2 варианту провел допольнительные экспрерименты:
4 мгц. из этого следует если в коде выполняется много операций и требуется быстродействие имеет смысл поставить while(1) внутри лупа, хотя я всегда считал что по скорости они почти одинаково выполняются, потому что даже в ядре похожая запись
Хорошо, посмотрю. Частота ардуины 16 МГц?
Да, я про Фому, вы про Ерёму...
Я спрашивал про работу с дисплеем Nokia1616.
Какие выводы ардуины цеплять к дисплею от Nokia1616 При использовании скетча Nokia_1616_soft?
Если можно и не жалко, покажите последнюю рабочую версию.
в 42 и 44 посту зашел разговор о тестировании скорости ногодрыга
да 16 мгц
в soft же прописано. это пины по даташиту
А почему тогда
а может и нет. я уже запутался
не дождался когда человек наконец проверит. потестил коды и заодно свой китайский лог. анализатор
1 вариант: 1,043 мгц
2 вариант: 1 мгц. все таки запись PORTB = 1<<3 быстрее работает чем PORTB |= 1<<3, хоть и кто то говорит менее правильная
ввобще поразительно что пауза между импульсами такая огромная, хз что там компилятор накомпилировал
3 вариант: digitalWrite. все и так знали что эта функция медленная
4 вариант: более чем в 2.5 раза быстрее. хотя это таже функция из которой просто выкинул "лишнее"
5. вариант. тут все сложнее
это 13 пин, clock. все таки промежуток между посылками большой, при том что данные не подготавливаются, они уже готовы и мк "больше вообще ничего не делает" )))
data 11 пин. не вдавался в подробности spi, но но длинная еденица в конце предполагаю означает конец посылки
к 2 варианту провел допольнительные экспрерименты:
8мгц. как клок у spi с минимальным делителем
захотелось еще эксперимента, так ли void loop безобиден. внутри ядра кажется есть записть в которой loop крутится внутри while(1) или что то вроде
4 мгц. из этого следует если в коде выполняется много операций и требуется быстродействие имеет смысл поставить while(1) внутри лупа, хотя я всегда считал что по скорости они почти одинаково выполняются, потому что даже в ядре похожая запись
на этом все)
jeka_tm , почему ?
03
#define PIN_On PORTB |= 1<<3;
04
#define PIN_Off PORTB &= ~(1<<3);
а не
03
#define PIN_On PORTB |= 0x08;
04
#define PIN_Off PORTB &= ~0x08;
разве без сдвигов не будет быстрее ?
да нет. тоже самое
понял графически - спасибо !!!!
Какой утилитой снимаете графики???
https://www.saleae.com/downloads
Спасибо!