Суббота, 27.04.2024, 01:01
Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
Главная | система дистанционного управления на ATtiny 2313 "c нуля" - Страница 22 - Форум | Мой профиль | Регистрация | Выход | Вход
Обитель RC-инженера
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: ВитГо  
Форум » Разработка электронных устройств » Разрабатываю ! » система дистанционного управления на ATtiny 2313 "c нуля" (пошаговое изучение строительства систем радиоуправления)
система дистанционного управления на ATtiny 2313 "c нуля"
ВитГоДата: Среда, 21.11.2012, 19:46 | Сообщение # 316
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
а это как тебе удобно..
посмотрим какая инфа при отладке будет нужна....

p.s. опять у меня проблемы с оплатой здесь.. сейчас оплачу за год вперед наверное чтобы каждый месяц не иметь этот геморрой с баннерами


Виталий (аka ВитГо)
 
uwrteyДата: Среда, 21.11.2012, 20:16 | Сообщение # 317
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
offtop:
да, я заметил эти надоедливые банеры...
можно наверно с рекламой (интернет магазинов например) что нить придумать...
сколько хоть стоит годовая оплата твоего ресурса?


не успеваю за своими мыслями......
 
uwrteyДата: Среда, 21.11.2012, 21:11 | Сообщение # 318
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Quote (ВитГо)
посмотрим какая инфа при отладке будет нужна....

я пока только добавил вывод "0" и "1" на дисплей при приеме "0" и "1" соответственно....
еще немного поправил код основной программы
// теперь если мы примем импульс или паузу длиннее чем 7260, то прием данных начнется сначала...
( устанавливается флаг фазы равный первому нарастающему фронту, скидывается счетчик принятых байтов, и запись данных производится с первого адреса "OZU")
Прикрепления: 3998998.asm (14.5 Kb)


не успеваю за своими мыслями......
 
uwrteyДата: Среда, 21.11.2012, 23:03 | Сообщение # 319
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
что еще может понадобится?

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

Сообщение отредактировал uwrtey - Среда, 21.11.2012, 23:03
 
ВитГоДата: Четверг, 22.11.2012, 00:06 | Сообщение # 320
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
да фиг его знает, сразу трудно сказать что нужно будет... добавишь если что..

код завтра гляну. сейчас спать уже пойду..

ps деньги чтобы отключить рекламу отправил но они видать на оленях идут :-( если завтра не придут - буду искать...


Виталий (аka ВитГо)
 
ВитГоДата: Четверг, 22.11.2012, 06:34 | Сообщение # 321
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
по коду:

почему ты не проинитил дисплей в своей инициализации ?
сразу после инита портов, перед инитами таймеров, прерываний и т.д. - нужно проинициализировать дисплей !
причем делается это один раз !! а у тебя получается что будет инититься каждый раз ! - так не правильно



дальше: переменные прерывания (управление фазой захвата) - нужно инитить до разрешения прерываний! а то может быть прерывание будет после sei но до настройки фазы.. и что получишь тогда ?



Виталий (аka ВитГо)
 
uwrteyДата: Четверг, 22.11.2012, 09:38 | Сообщение # 322
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Quote (ВитГо)
почему ты не проинитил дисплей в своей инициализации ?
сразу после инита портов, перед инитами таймеров, прерываний и т.д. - нужно проинициализировать дисплей !
причем делается это один раз !! а у тебя получается что будет инититься каждый раз ! - так не правильно

это я сделал для того, что бы каждый раз на дисплей выводилась новая информация вместо старой, внутри прерывания...
ну если не правильно , то переделаю....

Quote (ВитГо)
дальше: переменные прерывания (управление фазой захвата) - нужно инитить до разрешения прерываний! а то может быть прерывание будет после sei но до настройки фазы.. и что получишь тогда ?

понял.... исправлю...


не успеваю за своими мыслями......
 
uwrteyДата: Четверг, 22.11.2012, 22:38 | Сообщение # 323
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
ну вот исправил. Теперь цифры будет выводится друг за другом, каждая новая будет напечатана рядом с текущей...
или лучше использовать позиционирование на один и тот же адрес экрана?
Прикрепления: _1-3.asm (14.5 Kb)


не успеваю за своими мыслями......
 
ВитГоДата: Четверг, 22.11.2012, 23:15 | Сообщение # 324
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
по ситуации..
одну и ту же инфу наверное лучше в одну и ту же позицию на экране выводить...
в общем по ситуации


Виталий (аka ВитГо)
 
uwrteyДата: Пятница, 23.11.2012, 20:25 | Сообщение # 325
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
ну что, смотрел код? что скажешь?
1) что делать с флагом фазы который мы установили? как его использовать?
2) какой код запихнуть в chtenie_ozu: ? чтение данных и включение/выключение светодиодов ???
3) что нужно добавить/убрать/ изменить?


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

сделай измерение длительность импульса и паузы после него и выведи эти длительности на экран..

длительность пусть будет в тиках таймера..
выводить можно в hex-виде

это нужно чтобы знать какие длительности регистрирует приемник


Виталий (аka ВитГо)
 
uwrteyДата: Пятница, 23.11.2012, 21:03 | Сообщение # 327
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
1) Выводить по очереди, на один и тот же адрес экрана ??? ( как тогда организовать способ доставки информации в мой мозг = у меня глаза всего 24 кадра/сек воспринимают... sad ) smile
или выводить данные друг за другом через пробел?

2) как точно измерять длительность импульса/паузы ?
так же как и в коде -
x<2970
x=3300 +/- 10%
x=3630<x<5940
x=6600+/-10%
x>7260
или с точностью до тика ???


не успеваю за своими мыслями......
 
ВитГоДата: Пятница, 23.11.2012, 21:05 | Сообщение # 328
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
ну и не нужно замерять все импульсы..
замерь в пачке первый импульс и первую паузу...

и выведи в значения тиков таймера (содержимое tcnt1)

протестировать несколько раз чтобы понять что у нас с повторяемостью замера длительностей


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

но затупил в том, что не могу взять число из tcnt1 и вывести на экран..
так как в tcnt1 может оказаться число от 0 до 65535 ( от 0x0000 до 0xFFFF )
то-есть старшая и младшая часть может быть от 0x00 (0) до 0xFF (255)
а у меня в драйвере подключения дисплея доступно всего лишь 16 значений от 0x00 (0) до 0x0F (15)
... короче, на прямую записывать значение счетчика в регистр отвечающий за символ - нельзя!

хотел вот такое сделать
Прикрепления: 0426535.asm (5.5 Kb)


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

Сообщение отредактировал uwrtey - Пятница, 23.11.2012, 23:27
 
ВитГоДата: Суббота, 24.11.2012, 10:57 | Сообщение # 330
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
все проще чем кажется :-)

обращаю внимание что значение счетчика читаем с младшего байта !!! поскольку печатаем со старшего, то младший просто сохраняем на стеке до момента когда нужно будет напечатать
соответственно печать 16ти битного числа это просто печать двух 8ми битных чисел (этим шестнадцатеричные числа очень удобны)
Code

         ... ; программа

         in r16, tcnt1l
         push r16
         in r16, tcnt1h       
         rcall  printhex  ; печатаем старший байт
         pop r16
         rcall  printhex  ; печатаем младший байт

         .... ; дальше программа      


печать 8ми битного числа фактически это печать двух 4х битных чисел, первыми печатаем старшие 4 бита, вторыми следующие 4 бита.
разберись как работает сам (у нас новая команда swap)
Code

; подпрограмма печати байта в hex виде
printhex:
         push r16
         swap r16
         rcall printhex1 ; печать старшей тетрады
         pop   r16
printhex1:
         andi r16, 0x0f
         rcall lcd_char ; печатаем число
         ret


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


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