Четверг, 18.04.2024, 19:02
Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
Главная | система дистанционного управления на ATtiny 2313 "c нуля" - Страница 33 - Форум | Мой профиль | Регистрация | Выход | Вход
Обитель RC-инженера
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: ВитГо  
Форум » Разработка электронных устройств » Разрабатываю ! » система дистанционного управления на ATtiny 2313 "c нуля" (пошаговое изучение строительства систем радиоуправления)
система дистанционного управления на ATtiny 2313 "c нуля"
uwrteyДата: Воскресенье, 30.12.2012, 19:30 | Сообщение # 481
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
чуть позже пробегусь по коду, проверю осциллограмму,и если все в порядке попытаюсь вывести на экран значение захваченных бит данных.

не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Воскресенье, 30.12.2012, 19:30
 
uwrteyДата: Воскресенье, 30.12.2012, 19:31 | Сообщение # 482
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
осциллограмма без изменений, значит дело в коде....
по коду бегло пробежался, но ни чего не нашел

значит буду выводить на экран значение захваченных бит данных

только как это лучше сделать? как делали ранее - в виде длительностей в "тиках" таймера

или выводить на экран определенные символы
например

импульс с длиной равной imp_len "1"

импульс с длиной не равной imp_len (больше или меньше не имеет значения) "2"

пауза с длиной равной nul_len "3"

пауза с длиной равной one_len "4"

пауза с длиной меньше one_len "5"

пауза с длиной больше one_len, но меньше nul_len "6"

пауза с длиной больше one_len "7"


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Воскресенье, 30.12.2012, 21:16
 
ВитГоДата: Воскресенье, 30.12.2012, 21:47 | Сообщение # 483
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
ну начни с этого варианта, а если ничего не получиться - то выводить в тиках таймера....

Виталий (аka ВитГо)
 
uwrteyДата: Воскресенье, 30.12.2012, 23:54 | Сообщение # 484
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
ну вот написать написал, а откомпилировать не могу
ругается " Relative branch out of reach "
на запись "brne out_1" только в двух местах! в остальных пяти не ругается shock

а-а, все нагуглил ответ здесь!
Цитата
7. Вопрос:
Не могу понять почему появляется ошибка: "Relative branch out of reach". Компилятор начал ругаться когда я добавил в программе несколько подпрограмм
(даже если они пустые) на brne, breq?
Ответ:
Команды условных переходов brne и breq имеют "дальность работы" от -64 до +63. У Вас расстояние до метки больше, поэтому ассемблер и выдает ошибку.
Используйте RCALL и RJMP, у которых дальность действия составляет от -2047 до +2047. И не строк, а команд (слов по 2 байта).
Прикрепления: 1-2-3.asm (16.2 Kb)


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Воскресенье, 30.12.2012, 23:56
 
uwrteyДата: Понедельник, 31.12.2012, 00:16 | Сообщение # 485
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
сделал вот такую программулину
вот что получаю
1) 2517171717......17
2) 2525252717......17
3) 171717141717171712417...17
4) (копия третьего варианта)
5) (копия первого варианта)
Прикрепления: 9268929.asm (16.3 Kb)


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Понедельник, 31.12.2012, 00:24
 
ВитГоДата: Понедельник, 31.12.2012, 00:27 | Сообщение # 486
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
надо бы пробелы между значениями вставлять.. а то нифига не понятно..

Виталий (аka ВитГо)
 
uwrteyДата: Понедельник, 31.12.2012, 00:33 | Сообщение # 487
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
а-а
вот и первый косяк в коде
Код

X_bolshe_Y_5940:   ; TCNT1 больше 5940 // сейчас проврим больше или меньше 6600+10%=7260 ( 1C5C )

  mov Temp,XH   ; копируем  "Х"
  mov Temp1,XL

  ldi YH,0xE   ; записываем в регистровую пару "Y" 3300+10%=3630  ( 0xE2E )
  ldi YL,0x2E

  rcall compare_XY16  ; сравниваем...

  breq X_menshe_Y_7260  ; переход на обработку когда X=Y
  brcs X_menshe_Y_7260  ; переход на обработку когда X<Y  
  rjmp X_bolshe_Y_7260  ; переход на обработку когда X>Y  

собрался сравнивать с одним числом, а сравниваю с другим ( во всем виноват копипаст)


не успеваю за своими мыслями......
 
uwrteyДата: Понедельник, 31.12.2012, 01:01 | Сообщение # 488
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
ну вот, косяк исправил и основная программа заработала biggrin
( на экран выводятся данные из оперативки! ровно 40 бит - все, кроме бита четности! )
Прикрепления: vyvod_na_disple.asm (16.1 Kb)


не успеваю за своими мыслями......
 
ВитГоДата: Понедельник, 31.12.2012, 01:21 | Сообщение # 489
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
картинки или хотя бы замеры длительностей в студию ! :-)

Молодец !!!


Виталий (аka ВитГо)
 
uwrteyДата: Понедельник, 31.12.2012, 15:14 | Сообщение # 490
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
фотки будут днем

не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Понедельник, 31.12.2012, 15:14
 
uwrteyДата: Понедельник, 31.12.2012, 15:14 | Сообщение # 491
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
устройства выглядят вот так http://s020.radikal.ru/i714/1212/c2/06c7374b5970.jpg
они до сих пор сидят на одной макетке... ( то-ли макетку жалко пилить то ли лень)

первая кнопка http://s41.radikal.ru/i092/1212/a5/291be04f9d88.jpg

вторая http://s43.radikal.ru/i100/1212/78/fc130c331d13.jpg

третья http://s006.radikal.ru/i214/1212/47/f76d180cf3e9.jpg

17-ая http://i031.radikal.ru/1212/e2/245c3a0da87d.jpg

18-ая http://s019.radikal.ru/i633/1212/2c/6a8e2690debb.jpg

19-ая http://s017.radikal.ru/i431/1212/9a/14fda58a8a60.jpg

20-ая кнопка http://s001.radikal.ru/i194/1212/b2/62e38f2e61c0.jpg

------------------------------

но есть одно "НО"

передатчик передает 41 бит ! (41-ый это бит четности )
а принимаю я только 40 бит !
по этому иногда бывают ложные дешифровки
например первая кнопка может приняться так http://s004.radikal.ru/i207/1212/c7/a373d85835c7.jpg ( а вторая кнопка может приняться как первая )
тут (ошибочно) запись в ОЗУ начинается со второго бита.... ( весь пакет смещается на один бит )
я думаю, что как только я начну принимать все 41 бит, то этой проблемы не будет
это легко можно проверить... ( чуть позже займусь этим )

----------------------------------------

Я заметил один недостаток:
между тем как я нажимаю кнопку на передатчике и между выводом данных на экран проходит ощутимое время.
С чем это связано ?
1) с выводом данных на экран
2) низкая частота передачи / обработки данных


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Понедельник, 31.12.2012, 15:36
 
ВитГоДата: Вторник, 01.01.2013, 03:15 | Сообщение # 492
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
ну у тебя передается довольно большой объем данных... 41 бит как не крути !!

и довольно низкая частота передачи...

кстати, "ощутимое время" - это сколько ?
если полсекунды - то это нормально..

опять таки наверняка есть задержка самих ВЧ модулей !! (даже точно есть !)

в принципе сейчас главное что удается принимать и передавать данные...
теперь подключаем ВЧ и пробуем...

на счет потери 41го бита - нужно посмотреть что теряем.. - возможно нужно будет еще раз поправить алгоритм

p.s. с Наступившим !!!!


Виталий (аka ВитГо)
 
uwrteyДата: Вторник, 01.01.2013, 12:47 | Сообщение # 493
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Цитата (ВитГо)

p.s. с Наступившим !!!!
Спасибо! И Тебя с Наступившим!

Цитата (ВитГо)
в принципе сейчас главное что удается принимать и передавать данные...
теперь подключаем ВЧ и пробуем...
дак, вч подключено ! я уже по радиоканалу передаю ... smile

Цитата (ВитГо)
кстати, "ощутимое время" - это сколько ?
если полсекунды - то это нормально..
специально не засекал, но засеку и скажу...

Цитата (ВитГо)

на счет потери 41го бита - нужно посмотреть что теряем.. - возможно нужно будет еще раз поправить алгоритм
Тут, я кажется знаю, что нужно сделать ..... ( это я проверю в ближайшее время)


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Вторник, 01.01.2013, 13:19
 
ВитГоДата: Вторник, 01.01.2013, 14:20 | Сообщение # 494
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
Цитата (uwrtey)
дак, вч подключено ! я уже по радиоканалу передаю ...


ну тогда у тебя уже есть собственноручно разработанная 40 командная дискретная система управления !
осталось нарастить функционал, и пробовать-пробовать-пробовать - чтобы отловить хотя бы процентов 90 глюков (они всегда есть!)

ну и можно переходить ко второй части - написанию пропорциональной системы управления :-)


Виталий (аka ВитГо)
 
uwrteyДата: Среда, 02.01.2013, 00:01 | Сообщение # 495
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Цитата (ВитГо)
у тебя уже есть собственноручно разработанная 40 командная дискретная система управления !

ну во первых: не собственноручно... тут основной вклад Твой ! и этот вклад неоценим! Спасибо, Виталий! Большое Спасибо!
во вторых: программа не доработана - нужно ведь еще проверку бита четности сделать и после этого добавить динамическое включение 20-ти светодиодов
в третьих: система не 40-командная - а всего лишь 20-ти wink
и в четвертых: я уже в восторге от предвкушения написания пропорциональной системы управления biggrin


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Среда, 02.01.2013, 00:02
 
Форум » Разработка электронных устройств » Разрабатываю ! » система дистанционного управления на ATtiny 2313 "c нуля" (пошаговое изучение строительства систем радиоуправления)
Поиск:


Copyright MyCorp © 2024
Сделать бесплатный сайт с uCoz