Reply to comment

Заморочки реального времени

Наконец отловил самую непослушную ошибку в программе управления светом. На маленьких яркостях лампока все время подмигивала. Последние две недели я только на нее и охотился. На самом деле я поправил сразу несколько ошибок, приводивших к такому эффекту. Ну не привык я писать программы, которым нужно работать в режиме довольно жесткого реального времени. Например, только позавчера до меня дошло, что главный цикл программы должен работать не как можно быстрее, а как можно равномернее, причем время начала цикла должно быть синхронизованно с колебаниями тока в электрической цепи. А сегодня я обнаружил, что у меня не совсем четко срабатывает детектор нуля и полученные с него времена нужно усреднять. Если бы я лучше разбирался в электронике возможно не пришлось бы писать такой сложный код предсказания времени перехода напряжения через ноль. А неделю назад меня осенило, что намного проще переписать библиотечные функции работы с таймером, чтобы они использовали нужный мне таймер, чем пытаться синхронизировать работу двух таймеров разной разрядности.
Но в целом я очень доволен. Программирование микроконтроллеров оказалось весьма увлекательным занятием.

Reply

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.