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

если тебя устраивает то, что я "соорудил", то я попробую написать чтение данных из озу и включение светодиодов...
если не устраивает, то буду исправлять ( или дополнять ).....
Прикрепления: 1-2.asm (13.8 Kb)


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

Сообщение отредактировал uwrtey - Среда, 26.12.2012, 20:02
 
uwrteyДата: Четверг, 27.12.2012, 11:08 | Сообщение # 467
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
о-о ! я тут нашел еще одну очень критичную ошибку!
я зачем то сохраняю в озу imp_len.. ( мне понадобится уже не 40 байт а 80 !!! )
ну вот, я кажется понял для чего нужен флаг фазы... ( доходит как до жирафа... )

пошел редактировать код


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

Сообщение отредактировал uwrtey - Четверг, 27.12.2012, 11:09
 
ВитГоДата: Четверг, 27.12.2012, 19:56 | Сообщение # 468
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
неее, это не ошибка, это оптимизация biggrin

Виталий (аka ВитГо)
 
uwrteyДата: Четверг, 27.12.2012, 23:03 | Сообщение # 469
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
ну вот теперь в оперативку записываются только значения принятых пауз ( то-есть только 40 значений )
сейчас попробую еще сократить код ( уж слишком много в нем повторяющихся элементов )
Прикрепления: 0351701.asm (17.1 Kb)


не успеваю за своими мыслями......
 
uwrteyДата: Четверг, 27.12.2012, 23:20 | Сообщение # 470
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
вот, теперь я еще существенно сократил код. ( как видишь процедуру сравнения сделал в виде подпрограммы)
Прикрепления: -_2.asm (15.0 Kb)


не успеваю за своими мыслями......
 
ВитГоДата: Пятница, 28.12.2012, 05:18 | Сообщение # 471
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
ну теперь нужно попробовать добавить вывод буфера ОЗУ на экран!

прямо все 40 байт просто отправить на печать !

ааа, еще нужен счетчик принятых бит - чтобы четко представлять момент когда нужно выводить данные на экран (чтобы выводить весь пакет после принятия)


Виталий (аka ВитГо)
 
uwrteyДата: Пятница, 28.12.2012, 08:51 | Сообщение # 472
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Цитата
ааа, еще нужен счетчик принятых бит - чтобы четко представлять момент когда нужно выводить данные на экран (чтобы выводить весь пакет после принятия)

дак он же есть уже !!! smile
.def CounterByteOZU=R23 ; счетчик байтов, записываемых в ОЗУ


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

Сообщение отредактировал uwrtey - Пятница, 28.12.2012, 09:51
 
ВитГоДата: Пятница, 28.12.2012, 11:36 | Сообщение # 473
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
ну тогда в чем дело встало ?

выводи полученные пакеты на экран !


Виталий (аka ВитГо)
 
uwrteyДата: Пятница, 28.12.2012, 14:19 | Сообщение # 474
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
ок, на работе я ... Вечером попробую.

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

Сообщение отредактировал uwrtey - Пятница, 28.12.2012, 14:42
 
uwrteyДата: Пятница, 28.12.2012, 23:51 | Сообщение # 475
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Представляю на Ваш суд код, "в железе" попробую завтра...
Прикрепления: _____.asm (16.1 Kb)


не успеваю за своими мыслями......
 
ВитГоДата: Суббота, 29.12.2012, 10:28 | Сообщение # 476
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
вот такую конструкцию
Код

    ROR temp   ; двигаем байт вправо (циклический сдвиг вправо)
    BRCC send_zero   ; если "С"=0 (перенос очищен), то переход на "send_zero"    


обычно не применяют,

есть специальные команды sbrs \ sbrc проверки бита (без изменения значения проверяемого регистра)

далее по коду:
Код

   ROR temp   ; двигаем байт вправо (циклический сдвиг вправо)
   BRCC send_zero   ; если "С"=0 (перенос очищен), то переход на "send_zero"   

   LDI R16, 0x01   ; печать символа '1'    
   RCALL LCD_CHAR
   rjmp count_40

send_zero:

   LDI R16, 0x00   ; печать символа '0'    
   RCALL LCD_CHAR

count_40:

   dec temp1   ; уменьшим счетчик битов
   brne read_bit   ; если не все биты, то циклимся


обрати внимание ты опять применяешь одновременно дефайновое обозначение регистра (temp) и его номер (R16) - можешь словить глюки из за этого, причем отловить их будет очень сложно

сам фрагмент можно написать более элегантно (используя команды проверки битов в регистре)
Код

read_bit:
   Ld temp2, Z+   ; читаем  данные из озу по адресу из "Z"

   LDI temp, 0x00   ; символ '0'

   sbrc temp2, 0                    ; проверяем младший бит,  если бит сброшен то следующая команда будет пропущена

   LDI temp, 0x01   ; символ '1'    

   RCALL LCD_CHAR             ; печатаем символ

   dec temp1           ; уменьшим счетчик битов
   brne read_bit   ; если не все биты, то циклимся


Виталий (аka ВитГо)
 
uwrteyДата: Суббота, 29.12.2012, 17:22 | Сообщение # 477
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Цитата (ВитГо)
обрати внимание ты опять применяешь одновременно дефайновое обозначение регистра (temp) и его номер (R16) - можешь словить глюки из за этого, причем отловить их будет очень сложно

блин, это я копипастил... (обязательно исправлю)
Цитата (ВитГо)
есть специальные команды sbrs \ sbrc

sbrc погуглил, http://www.gaw.ru/html.cgi/txt/doc/micros/avr/asm/sbrc.htm ( и sbrs http://www.gaw.ru/html.cgi/txt/doc/micros/avr/asm/sbrs.htm
здОрово! up будем использовать эту команду!

сегодня вечером проверю в железе.....


не успеваю за своими мыслями......
 
ВитГоДата: Суббота, 29.12.2012, 22:57 | Сообщение # 478
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
давай, я как раз думаю сегодня подольше посидеть за компом. так что пиши если что :-)
ну и картинок давно чтото небыло :-)


Виталий (аka ВитГо)
 
uwrteyДата: Воскресенье, 30.12.2012, 09:58 | Сообщение # 479
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Пришел с работы и случайно уснул. sad ( Организм видимо устал, и не спросив меня, отправился смотреть сны )
Так что "в железе" сейчас уже не получится проверить... Только уже днем. ( Все равно - на работу, в этом году, я уже не пойду.)

зачем я проснулся посреди ночи - сам не понимаю, но раз уже проснулся, то подготовлю *.asm и откомпилирую его

Добавлено (30.12.2012, 09:58)
---------------------------------------------
Только что прошил МК приемника, на экране пусто! sad

Прикрепления: vyvod_na_disple.asm (16.1 Kb)


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

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

Виталий (аka ВитГо)
 
Форум » Разработка электронных устройств » Разрабатываю ! » система дистанционного управления на ATtiny 2313 "c нуля" (пошаговое изучение строительства систем радиоуправления)
Поиск:


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