Перейти к содержанию
    

Simenon

Участник
  • Постов

    9
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Не совсем ясно это сочетание - элементы TListView не обязательно кнопки. Задача не описана, поэтому попробую предположить, что нужно получить... Если нужен именно TListView, то м.б. проще воспользоваться триггером OnSelectItem? А если там только кнопки, то м.б. использовать TCheckListBox? В шестом билдере (ох, давно это было) это делалось через TCheckListBox::OnClickCheck() и TCheckListBox::Checked[] ... Гляньте, в десятом этот класс еще существует? Есть еще TRadioGroup, у которого после клика (в OnClick()) можно проверить значение ItemIndex.
  2. Спасибо. С манчестером сталкивался, с "4b/5b" нет. Почитаю.
  3. Zltigo, Вы для меня слишком "гуру" - мне без примера непонятно, какое решение Вы имеете ввиду. Увидеть бы что-то из этой серии... Dm37, спасибо за пример!
  4. Увы, передатчик не UART. Ах, вот как, софтом определять моменты включения UARTa... звучит сложнее, чем просто софтовая реализация. Спасибо за вариант.
  5. Ширина импульсов бывает некратная, да и плавает она. Плюс ограничения UART на формат фрейма, ему стартбит нужен низкий, в сигнале же следующий бит, после уже принятых UARTом, может оказаться высоким. Софтово бы решить.
  6. Похоже, что с Input Capture возни больше в части пропуска помех. Noise Canceler пропускает только помехи короче 4 системных тактов, поэтому, если на Input Capture Pin придет помеха длиннее, то, чтобы исключить ложный захват, придется складывать захваченное значение длительности с предыдущей и оставаться в том же режиме захвата (falling/rising edge)? Кто-нибудь пробовал то и другое, может подсказать в каком направлении двигаться?
  7. Может, перед вызовом библиотечной функции, копировать данные из кольцевого буфера в линейный?
  8. 1 - 9600 - 19200, приблизительно 2 - на м/к. В настоящий момент - на АтМеге.
  9. Ранее не приходилось работать с радиоканалом (любитель я), а когда попробовал, обнаружил большое количество шумов, мешающих выделить данные. Отсюда и вопрос. Насколько могу сейчас понять, задачи две - распознать в потоке шумов саму посылку и синхронизироваться с частотой и тактами модуляции. Видимо, преамбула предназначена для распознавания посылки и определения частоты модуляции, а последующий синхроимпульс - для определения "точки отсчета" последующих бит данных (тактов). Гугление выдает не рассказы об алгоритмах, а то, что использует эти алгоритмы, как законченные модули. После чтения всего, что выдал гугль, сложилось лишь самое общее представление о том, как такие алгоритмы строятся. Но его маловато для написания своего алгоритма. Насколько понимаю сейчас, все методы делятся на две группы. В одной из них, уровень сигнала сравнивается (по интервалам таймера) с предполагаемым в N-раз чаще (2, реже - 3), чем он должен меняться. Если смена уровня сигнала происходит раньше или позже, чем должно быть, считается, что на входе не посылка, а шум. Во второй группе алгоритмов используется не прерывание по таймеру, а Input Capture, то есть, замеряется реальная длительность импульса, которая сверяется с ожидаемой. Если она отличается слишком сильно, импульс считается шумом. Помогите разобраться, pls, как лучше подступиться к задаче. Если есть что почитать об этом - оч. хорошо, если есть примеры кода - еще лучше. На данном этапе я даже не могу оценить, какой из двух методов какие преимущества/недостатки имеет. Например, как методы первой группы позволяют учитывать разницу между скоростью тактирования передатчика и приемника? В общем, темный лес пока. :( Ткните в правильном направлении, pls.
×
×
  • Создать...