|
Прочитать передачу |
|
|
|
Aug 2 2011, 19:19
|

Частый гость
 
Группа: Участник
Сообщений: 148
Регистрация: 23-02-07
Пользователь №: 25 618

|
Цитата(ILYAUL @ Aug 2 2011, 22:05)  И ещё настораживает вот эта фраза из кода Что тут не понятного, пауза после посылки.
|
|
|
|
|
Aug 2 2011, 19:33
|

Частый гость
 
Группа: Участник
Сообщений: 148
Регистрация: 23-02-07
Пользователь №: 25 618

|
Посмотрите Отрисовка сигнала.Создавалась для отрисовки сигнала пультов, отрисует и цифровой сигнал, если подойдет по скорости, Есть проект для протеуса, если интересует могу выложить.
Сообщение отредактировал Marian - Aug 2 2011, 19:34
|
|
|
|
|
Aug 2 2011, 19:41
|
Местный
  
Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032

|
Цитата(micronano @ Aug 2 2011, 13:50)  по первому биту запускать таймер, и с частотой раз в бит увожу контроллер в прерывание, где считываю значение порта. Но огромное количество ошибок самого разного плана: сдвиг, чтение 1 вместо 0, чтение 0 вместо 1 На всякий случай вспомнил бы о картинках из описания к микросхеме типа AVR *. Которые в разделе про уарт. В смысле асинхронный. Которые переопубликовывать вручную уже от своего имени представляется нецелесообразным. Или много букв про не понял что здесь пишут. * особенно когда даже название раздела выбрано...
Сообщение отредактировал нечитатель - Aug 2 2011, 19:45
|
|
|
|
|
Aug 2 2011, 19:52
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(Marian @ Aug 2 2011, 23:33)  Посмотрите Отрисовка сигнала.Создавалась для отрисовки сигнала пультов, отрисует и цифровой сигнал, если подойдет по скорости, Есть проект для протеуса, если интересует могу выложить. А почему бы и нет , положите вот сюда: http://electronix.ru/forum/index.php?showtopic=10934Вдруг и в правду кому-то понадобится , а по поводу этого топика , при таком "количестве "полезной" информации от топикстартера, мы можем только гадать
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Aug 2 2011, 20:37
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(micronano @ Aug 2 2011, 13:36)  каждое сообщение (порядка 60 бит) Похоже, Вы мучаете интерфейс какой-нить микросхемы радио управления. Есть простой способ - используете прерывание capture и складываете отсчеты таймера в буфер. Индекс буфера обнуляется при отсутствии фронтов в течение определенного времени. Потом, пройдясь по буферу с начала до конца, можно спокойно проанализировать, что же там передавалось.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Aug 3 2011, 08:58
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 13-10-10
Пользователь №: 60 133

|
Marian, ILYAUL, спасибо. Попробую сделать на прерываниях по фронту/спаду и записью длительности...
Dog Pawlowa, нет, это не интерфейс какой-нить микросхемы радио управления. =)
|
|
|
|
|
Aug 3 2011, 09:13
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата(micronano @ Aug 2 2011, 15:14)  ILYAUL, считайте что хотите. Чем вам не понравилось слово прямоугольный, не понимаю. Наверное тем, что когда речь о "0" и "1" или о протоколе, они все прямоугольные... Это не информативно. Надо знать как передается эти "0" и "1". Это может быть просто уровень, это может быть скважность, это может быть период(частота), это может быть что-то еще. Вариантов там воз и маленькая тележка. И вообще, что Вы знаете о сигнале кроме того, что он прямоугольный? ЗЫ. А вообще, самый разумный был совет - используйте запоминающий осциллограф или логический анализатор и внимательно рассмотрите сам сигнал. Пока половина советов тут сводилась к попытке сделать простейший лог. анализатор подручными средствами...
|
|
|
|
|
Aug 3 2011, 14:39
|

Частый гость
 
Группа: Участник
Сообщений: 148
Регистрация: 23-02-07
Пользователь №: 25 618

|
Цитата(Dog Pawlowa @ Aug 2 2011, 23:37)  Есть простой способ - используете прерывание capture и складываете отсчеты таймера в буфер. Вроде capture работает по фронту импульса. Измерить длительность лог."0" так не получится.
|
|
|
|
|
Aug 4 2011, 17:06
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата Вроде capture работает по фронту импульса. Работает по обоим фронтам (какой укажешь и можно менять по ходу дела) и по результату компаратора. Измерить длительность нуля - очень просто. Ловишь падающий, меняешь в прерывании каптура на нарастающий и запоминаешь текущее. В следующем прерывании вычитаешь текущее от запомненного = измерили. Плюс можно компарами ставить ограничения на допустимые пределы длительности нуля/импульса.
|
|
|
|
|
Aug 4 2011, 17:31
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(ArtemKAD @ Aug 4 2011, 21:06)  ....и запоминаешь текущее. В следующем прерывании вычитаешь текущее от запомненного = измерили. А надо ли ? По условию задания ему нужно только Цитата Кто-нибудь может подсказать как прочитать передачу некоего интерфейса К тому же Цитата Известна его его скорость и структура Насчёт длительности импульсов ничего не сказано. И даже если , что-то считать , то только не в прерывании. К тому же по каждому прерыванию , можно просто перезапускать счётчик, предворительно считав предыдущие данные, которые можно потом сохранить выйдя из прерывания. И считать полученные данные до следующего прерывания. Но неизвестны ни скорость передачи ни структура сигнала- не озвучены. А так можно было прикинуть программу обработки. Но и проц не известен.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|