Пытаюсь понять логику работы.
У меня программа принимает данные из ком-порта.Я думаю, что каждый приход данных запускает цикл работы програмы, как тактовый генератор.
После анализа данных у меня получается шесть событий. Я их через Hub (шесть входов- один выход) отпарвляю на запись.Как мне кажется обработка всех событий произойдет за шесть тактов. Если я объединю попарно по два взаимосвяэанных события через Hub и затем уже подам
на Hub(три входа - один выход), то обработка произойдет за три цикла. Правиль-но ли я понимаю?
Этот топик читают: Гость
|
Ответов: 55
Рейтинг: 0
|
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
AVladM писал(а): то обработка произойдет за три циклаСколько событий, столько и тактов, независимо от того, как ты их соединять будешь |
|||
| карма: 22 |
|
|
Ответов: 55
Рейтинг: 0
|
|||
|
Продолжаю изучать.
У меня в программе на каждое событие стоит Timer, которые при запуске прграммы начинают работать(сплошная сигнализация). Я пытался установить Enable в False - помогает, но один обязательно должен быть включен. Если бы Enable можно было превратить в Метод, то тогда это можно было решить. В принципе с этим можно жить.Просто хочу узнать, есть ли какой-то способ это обойти? Чтобы таймер становился Enable только после появления события. |
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2148
|
|||
|
AVladM писал(а): но один обязательно должен быть включен. Если бы Enable можно было превратить в МетодВот уж не вижу надобности этого делать. При Enable=False таймер работает в ждущем режиме до появления события doTime, в отличии от Enable=True, когда таймер запускается автоматически при запуске программы |
|||
| карма: 22 |
|
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
AVladM писал(а): У меня в программе на каждое событие стоит Timer, которые при запуске прграммы начинают работать(сплошная сигнализация).скорей всего приложение спроектированно не верно |
|||
| карма: 26 |
|
|
Ответов: 55
Рейтинг: 0
|
|||
|
скорей всего приложение спроектированно не верно Согласен.Это моя первая программа на HiAsm.
Извиняюсь, я не совсем полно описал проблему. Сигнализация начинает действовать сразу после запуска программы, но после того как будет включен ComPort и придут данные, программа работает как часы. Спасибо nesco за помощь. Вот часть схемы с сигнализацией: code_22355.txt Тут элементы RadioButton и DoData - это моя попытка понять, как выключить звук? Вроде звук должен включаться при подаче 1 (вернее не ноля), если я правильно понял. В этом случае вроде стоит 0, но звук включается словно этих элементов нет. |
|||
| карма: 0 |
| ||
| файлы: 1 | code_22355.txt [959B] [154] |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
|
Редактировалось 1 раз(а), последний 2025-01-17 15:16:28 |
|||
| карма: 0 |
|
|
Ответов: 397
Рейтинг: 34
|
|||
|
doBeep - всегда воспроизводит звук независимо, что подали на вход.
Можно конкретнее рассказать, что должна делать программа? |
|||
| карма: 0 |
|
|
Ответов: 55
Рейтинг: 0
|
|||
|
Программа принимает данные по ком-порту от микроконтроллера и при выходе параметра за пределы включает световую и звуковую сигнализацию, а так же пишет лог. Поскольку параметр вне нормы может находиться долго, то звук нужно выключать, а световую оставлять. В микроконтроллерном варианте у меня выключенный звук включается, если параметр возвращался в норму, а затем опять нарушил.
|
|||
| карма: 0 |
|
|
Ответов: 397
Рейтинг: 34
|
|||
| карма: 0 |
| ||
| файлы: 1 | code_22357.txt [1KB] [89] |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
|
Редактировалось 1 раз(а), последний 2025-01-17 15:16:28 |
|||
| карма: 0 |
|
|
Ответов: 55
Рейтинг: 0
|
|||
|
Продолжаю изучение.
При архивировании Zipperom столкнулся с всплывающим окном: Это демо и ждет нажатия ОК! Решилось заменой bszip.dll, которая идет в последних сборках на версию от 8 февраля 2007 года(61 кб.), которая лежит здесь на сайте. При компиляции под FPC откомпилированная программа при завершении выдавала "Runtime error 216 ..." Решилось заменой таймера Timer на MMTimer.Пока работает. RadioButton при компиляции под FPC на форме выделяется черный контур - граница элемента, которой нет при компиляции под Delphi. Можно как-то исправить? |
|||
| карма: 0 |
|
|
Ответов: 16884
Рейтинг: 1239
|
|||
|
AVladM писал(а): Можно как-то исправить? |
|||
| карма: 25 |
|
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
AVladM писал(а): Решилось заменой таймера Timer на MMTimerочень сомнительно, что решилось... |
|||
| карма: 26 |
|
|
Ответов: 55
Рейтинг: 0
|
|||
|
Tad, спасибо, помогло, хотя логики не понял. Это просто надо знать.
|
|||
| карма: 0 |
|




Поиск
Друзья
Администрация