сторожевой МУЛЬТИ-МЕТР

Автор b612, 11 января 2018 г., 11:29:28

« назад - далее »

b612

Цитата: Grey от 20 января 2018 г., 21:13:482 скетча вместе слепить не могут.
вы можете ?
помогите, пожалуйста.

Grey

и да, и нет. я на ассемблере программирую.
а какие нужно слепить?
Двое смотрят в лужу.
один видит лужу, а второй отражающиеся в ней звёзды.

b612

#122
Цитата: Grey от 20 января 2018 г., 23:27:53
и да, и нет. я на ассемблере программирую.
а какие нужно слепить?
асм это тоже хорошо, но на нём код пишется на два порядка медленее.
И к стати я не сказал, бы что он на много оптимальнее.
Напишите скетч для монитора.
За одно и освоите Си.
А там неожиданно обнаружите, что и на яве можете.
После асма они вызывают почти восторг. Осваивать их легче и приятнее чем асм.
Адаптируйте тинибэйсик под наши нужды.
Там наверно надо будет добавить несколько специальных операторов
и параллельную фоновую работу нескольких процессов.
И адаптировать редактор бэйсика под какой-нибудь LCD. Или WH1602 или от нокии 5110. я бы предпочел от нокии, он компактнее.

Поскольку Тинибэйсик придётся ставить на оба блока, может быть начать с "сенсора". На нём не нужен редактор. Нужен только интерпретатор, совмещенный с фоновыми процессами.
К стати нашел хорошее видео, как в ардуине задействовать RTOS.
Это оказывается проще пареной репы.
https://www.youtube.com/watch?v=X1xdNgh3Qrg

Grey

Цитата: b612 от 20 января 2018 г., 23:45:06И к стати я не сказал, бы что он на много оптимальнее.
это как сказать.
это из обсуждений tiny basic
ЦитироватьПример рабочий 100%. Ошибки могут возникать при несовместимости библиотек, например, из-за разных версий.
Двое смотрят в лужу.
один видит лужу, а второй отражающиеся в ней звёзды.

b612

#124
Цитата: Grey от 21 января 2018 г., 01:24:32Пример рабочий 100%. Ошибки могут возникать при несовместимости библиотек, например, из-за разных версий.
это нормально. Не надо бояться это не асм, который и прочитать то трудно. Это Си, с ними работать и в т.ч. искать ошибки на два порядка легче.
Я с ними даже пошаговым отладчиком ни разу не воспользовался.

Для всех самое трудное это сделать первый шаг к Сям.
Они только на первый взгляд кажутся не понятными.
Это из за того, что там используются экзотические вещи типа
{abc = 0}, &abc  , ++abc , void abc()
но на этом вся экзотика и заканчивается
объекты, классы наследование это только для вумных. А так тот же самый бэйсик.

Grey

:) а, ну хорошо. тогда думаю для тебя не составит труда повторить такую программку http://www.cyberforum.ru/game-dev/thread93716-page2.html#post698721
Двое смотрят в лужу.
один видит лужу, а второй отражающиеся в ней звёзды.

b612

Цитата: Grey от 21 января 2018 г., 18:12:11
:) а, ну хорошо. тогда думаю для тебя не составит труда повторить такую программку http://www.cyberforum.ru/game-dev/thread93716-page2.html#post698721
Прикольная малюська
я примерно такие на VB.NET делал.

Grey

пример почему нужно писать на Си или асме. а не на ардуино.
https://www.youtube.com/watch?v=8qwEJof95To
ЦитироватьК стати нашел хорошее видео, как в ардуине задействовать RTOS.
да, и в 168 мегу tinybasic тоже ставят.
да, ставят. да, работает. и больше в контроллер ничего не влазит.
нету в контроллере столько памяти и производительности.
но надо же гикам чем то заниматься.
вообще tinybasic интересная идея. нужно будет попробовать. но позже. и наверно на стм.
и пишут, что на ардуино несколько интерпретаторов портировали. нужно будет поискать.
Двое смотрят в лужу.
один видит лужу, а второй отражающиеся в ней звёзды.

b612

Цитата: Grey от 21 января 2018 г., 20:54:04
пример почему нужно писать на Си или асме. а не на ардуино.
То, что вы называете "на ардуино" это и есть Си
Не нужно бояться этих тормозов.
Во первых не такие уж они и тормозные, мне это торможение ни разу не помешало.
Во вторых потому, что тормоза очень легко обойти
Во третьих, если тормозные команды будут использоваться в библиотечке ТиниБэйсик, её можно легко поправить.
Цитата: Grey от 21 января 2018 г., 20:54:04
да, и в 168 мегу tinybasic тоже ставят.
да, ставят. да, работает. и больше в контроллер ничего не влазит.
ардуина это не 168-ая а 368-ая и там памяти поболе.
и вообще-то надо ориентироваться на STM. Там и скорости и памяти поболе.
Цитата: Grey от 21 января 2018 г., 20:54:04
верно на стм.
и пишут, что на ардуино несколько интерпретаторов портировали. нужно будет поискать.
хорошая мысль
ко мне СТМ уже едет.

А у вас есть что-то из процов в наличии ?

Grey

первые ардуино были 8. потом 168, 368. сейчас уже 2560. и всё мало. библиотеки разрастаются.
у меня десяток attiny13, несколько 8мег, парочка 88, одна толи 8515 толи 8535. одна плата с стм103 и одна с стм030.
с стм пока не ко мне. я в них ещё не разобрался.
Двое смотрят в лужу.
один видит лужу, а второй отражающиеся в ней звёзды.

b612

Цитата: Grey от 21 января 2018 г., 22:14:04
у меня десяток attiny13, несколько 8мег, парочка 88, одна толи 8515 толи 8535. одна плата с стм103 и одна с стм030.
с стм пока не ко мне. я в них ещё не разобрался.
т.е. поиграть с тинибэйсиком пока не на чем

тинибэйсик осталяет в 368-ой от двух один килобайт оперативки, а это не мало.
Если проект не будет влазить в 368ую, можно его почти без переделок залить в 2560
или чуток подшаманить и в СТМ

368-ая почти бесплатная 130-150 р
можно заказать чисто для поиграться.
и дисплейчик 5110 тоже 150р

ЛУТ

Цитата: Grey от 21 января 2018 г., 20:54:04
пример почему нужно писать на Си или асме. а не на ардуино.
https://www.youtube.com/watch?v=8qwEJof95To
Если Ардуина позволяет решить текущею задачу то зачем заморачиваться ?
Типа всё должно быть идеально и без лишних операций  ::)
А те задачи в которых Ардуина не потянет для неё и не предназначены.

А видео это больше на трллинг похоже.
Никогда микроконтроллер не будет заниматься только переключением одного пина хоть на Асме хоть на Ардуине, и в реальной задаче всё уже будет не так однозначно, напрмре на асме надо добавить  по какому то прерыванию или состоянию регистра - выход из цикла , насколько это уменьшит скорость ? а если добавить проверки на ШИМ и прочее что есть в Ардуине и может быть полезно ? Другое дело в Ардуине невозможно отключить ненужные операции , ну или почти невозможно.
Вообще то в Ардуине можно напрямую писать в регистры портов за четыре такта  8) , но создатель видео об это умолчал  ::)

void setup()
{
DDRB = B10000000; // устанавливаем 13 пин как OUTPUT
}
void loop()
{
// создаем свой бесконечный цикл
while (1)
{
  PORTB = B10000000; // устанавливаем состояние pin13 как HIGH
  PORTB = B00000000; // устанавливаем состояние pin13 как LOW
}


Источник http://robotosha.ru/arduino/digitalwrite-optimizing-arduino.html
Если вы увидели в этом мире красоту значит вы поняли смысл всего.

Grey

Цитата: ЛУТ от 22 января 2018 г., 00:08:27
Вообще то в Ардуине можно напрямую писать в регистры портов за четыре такта  8) , но создатель видео об это умолчал 
он записал напрямую и замерил частоту.
Цитироватьа если добавить проверки на ШИМ и прочее что есть в Ардуине и может быть полезно ?
ни разу не встречал на си или асме проверку на шим. ты сам контролируешь, что на пине висит.
Двое смотрят в лужу.
один видит лужу, а второй отражающиеся в ней звёзды.

b612

Цитата: Grey от 22 января 2018 г., 07:16:06
Цитата: ЛУТ от 22 января 2018 г., 00:08:27
Вообще то в Ардуине можно напрямую писать в регистры портов за четыре такта  8) , но создатель видео об это умолчал 
он записал напрямую и замерил частоту.
неет.
он написал на Си, а компилятор сишную инструкцию превратил в длинный машинный код со всякими лишними проверками.
Цитата: Grey от 22 января 2018 г., 07:16:06
Цитироватьа если добавить проверки на ШИМ и прочее что есть в Ардуине и может быть полезно ?
ни разу не встречал на си или асме проверку на шим. ты сам контролируешь, что на пине висит.
это когда ты сам пишешь с нуля, то и держишь в голове какая периферия у тебя работает и знаешь можно ли дёргать ногой. А компилятор это не держит в уме, потому и проверяет.
Этим и хорош Си, что ты не задумываешься, может проц выставлять отдельные биты или нет а просто пишешь "установить бит".
И при этом у тебя остаётся возможность работать напрямую с железом

ЛУТ

Цитата: Grey от 22 января 2018 г., 07:16:06
он записал напрямую и замерил частоту.
Там в ссылке http://robotosha.ru/arduino/digitalwrite-optimizing-arduino.html автор сначала переключал через digitalWrite (как в видео) и получил тот же торомознутый результат 72 кГц, а потом записал напрямую в порты и получил скорость почти как на асме 4 МГц!
Если вы увидели в этом мире красоту значит вы поняли смысл всего.