Метка «таймер»

в 6:22, , рубрики: .net, api, таймер, метки: ,

Введение

Очень часто, нам разработчикам необходимо измерить время выполнения своего (и не только своего) кода. Когда я только начал программировать, я использовал структуру DateTime для этих целей. Прошло время, и я узнал о классе Stopwatch и начал его активно использовать. Думаю аналогичная ситуация была и у вас. Не то, чтобы я раньше не задавался вопросом о том, как работает Stopwatch, просто на тот момент знаний о том, что он позволяет измерять затраченное время точнее, чем DateTime мне хватало. Пришло время разъяснить себе, а так же читателям то, как на самом деле работает класс Stopwatch, а так же выяснить его преимущества и недостатки по сравнению с использованием DateTime.
Читать полностью »

Вы еще не программируете микроконтроллеры? Тогда мы идем к вам!Здравствуйте, уважаемые читатели!

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

Тема микроконтроллеров меня заинтересовала очень давно, году этак в 2001. Но тогда достать программатор по месту жительства оказалось проблематично, а о покупке через Интернет и речи не было. Пришлось отложить это дело до лучших времен. И вот, в один прекрасный день я обнаружил, что лучшие времена пришли не выходя из дома можно купить все, что мне было нужно. Решил попробовать. Итак, что нам понадобится:
Читать полностью »

Пишу игрушечную ОС (доступнее о планировщике)
Отсутствие комментариев к двум моим предыдущим постам, несмотря на большое число лайков, привели меня к выводу, что подавляющее большинство ничего не поняли. Просто, будучи давно погружённым в тему, я проявил невнимательность к своему читателю. Моя вина, буду исправляться. Итак, поговорим о планировании доступным языком.

Итак, что такое планировщик? Планировщик — это часть ОС, реализующая многозадачность. Число процессоров, обычно, намного меньше числа выполняемых задач. Поэтому на каждый процессор приходится несколько задач. В силу своей последовательной природы процессор не может выполнять эти задачи одновременно — и он поочерёдно переключается с одной задачи на другую.

По способу переключения между задачами планировщики делятся на кооперативные и вытесняющие. При кооперативном планировании ответственность за переключение задач несут сами задачи. Т.е. задача сама решает, когда можно уступить место следующей. В отличие от кооперативных, вытесняющие планировщики самостоятельно принимают решение о смене задачи. Легко понять, что второй метод планирования в общем случае является более предпочтительным для ОС в силу своей предсказуемости и надёжности.

Далее задачи будем называть потоками. Изначально задачи были однопоточными, поэтому поток выполнения всегда соответствовал задаче. В настоящее время это уже не так, поэтому задача логически разделилась на два родственных понятия: процесс, как контейнер ресурсов, и поток, как независимая последовательность исполнения кода.
Читать полностью »

Как это было?

Когда у меня возникло желание вести разработку под Arduino, я столкнулся с несколькими проблемами:

  • Выбор модели из списка доступных
  • Попытки понять, чего мне понадобится кроме самой платформы
  • Установка и настройка среды разработки
  • Поиск и разбор тестовых примеров
  • «Разборки» с экраном
  • «Разборки» с процессором

Для решения этих проблем мною было просмотрено и прочитано довольно много разных источников и в этой статье я постараюсь сделать обзор найденных мною решений и методов их поиска.

Выбор платформы

Перед началом программирования под железяку требуется в начале ее купить. И тут я столкнулся с первой проблемой: оказалось, что разных *дуин довольно много. Тут есть и широкая линейка Arduino и примерно такая же широкая Freeduino и другие аналоги. Как оказалось, большой разницы, что именно брать, нет. То есть одни из этих устройств чуть быстрее, другие чуть медленнее, одни дешевле, другие — дороже, но основные принципы работы практически не отличаются. Отличия появляются практически только при работе с регистрами процессора и то я далее объясню, как по возможности избежать проблем.
Читать полностью »

Вначале апреля прошлого года я, готовясь к далёкой поездке, которая была мечтой всей моей жизни, купил себе новый фотоаппарат. До этого у меня были только мыльницы. Штуки четыре по очереди. Мыльницы стали меня сковывать. Всё сильнее и сильнее. Как в плане качества изображения, так и в плане того, что они мне позволяли. В общем был куплен Nikon D5000 KIT. Аппарат прекрасный, мне очень нравился и нравится до сих пор. Я бы, конечно, сегодня поменял его на что-то более серьёзное, поскольку приобрёл уже не малый опыт, но оно всё дорого стоит, а D5000 очень и очень не плох.
Прошёл год. Прошло ещё время. Доступные максимум 30 секунд выдержки стали всё больше вызывать досаду. Иногда хотелось больше. Аппарат позволял, держа кнопку нажатой, не закрывать затвор пока питание не сядет, но не будешь же всё это время стоят рядом и делать ему шевелёнку. Второй момент: захотелось снимать молнии. Словить молнию вручную не реально, а использовать для этого большую выдержку — в наших краях малополезно. Так же хотелось расширить свои возможности в плане съёмки timelapse. Встроенных в фотоаппарат возможностей стало мало. Ну и до кучи всё же приятно было получить возможность поцепить мой Nikon на штатив и управлять им не прикасаясь к самой камере. Таскать для этого ноут со специальным софтом — не хочу. В итоге были заказаны 2 «тросика», об одном из которых я и хочу кратенько рассказать.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js