Суббота, 20.04.2024, 01:48
Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
Главная | Пропорциональное управление на МК с нуля - Страница 16 - Форум | Мой профиль | Регистрация | Выход | Вход
Обитель RC-инженера
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: ВитГо  
Форум » Разработка электронных устройств » Разрабатываю ! » Пропорциональное управление на МК с нуля (пошаговое строительство пропорционального управления с нуля)
Пропорциональное управление на МК с нуля
ВитГоДата: Пятница, 05.04.2013, 03:06 | Сообщение # 226
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
кстати смотри какая железка есть для экспериментов http://www.ebay.com/itm....ef7f822

это мега 32 с обвязом и выведенными пинами.. ИМХО неплохой вариант для тебя, на пины разъемы только купить для подключения периферии по типу таких http://www.ebay.com/itm....f2f0e89

провода можно найти в меньшем количестве (40 шт) или на аукционе попробовать поиграть чтобы купить дешевле...

я себе такие провода покупаю чтобы к PinBoard подключать те же дисплеи да другую периферию которую программирую


Виталий (аka ВитГо)
 
uwrteyДата: Пятница, 05.04.2013, 08:07 | Сообщение # 227
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
да, фьюз JTAGEN включен
http://vg.ucoz.ru/_fr/0/0376733.zip
а за что он отвечает?

_________________________________

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

Если удалить все лишнее и оставить только вывод ин-фы на дисплей, то все работает как надо.

Так-же все работает, если запретить все прерывания.

А если прерывания разрешены. И информация на дисплей должна выводится по входу в прерывание.
То на дисплее я получаю закрашенную верхнюю треть.

И еще такой прикол - если вызвать процедуру подготовки вывода на дисплей через RCALL, то выводится закрашеная треть экрана!
А если саму процедуру подготовки вывода на дисплей вставить в нужно место в коде, то информация начинает выводится на дисплей..

По моему что-то изменяет содержимое регистра R16. Только я не могу понять что это. И когда.. wacko

Может там какая-нибудь функция работает, про которую я не знаю...


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

Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 10:05
 
ВитГоДата: Пятница, 05.04.2013, 17:32 | Сообщение # 228
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
выключай !!! - это включена возможность подключения по JTAG - это формат общения хардварного отладчика !!!

для обычной работы - нужно выключать этот фюз !


Виталий (аka ВитГо)
 
uwrteyДата: Пятница, 05.04.2013, 17:46 | Сообщение # 229
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Ясно. Попробую сегодня - выключу. smile

А что этот фуз-бит божет повлиять на работу вывода изображения ?


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

Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 17:46
 
ВитГоДата: Пятница, 05.04.2013, 17:46 | Сообщение # 230
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
и все заработает :-)

под JTAG используются пины с PC2 по PC5 (сигналы TCK TMS TDO TDI)
и их ты как раз пытаешься использовать в драйвере дисплея
Код
; Линия управления сбросом дисплея (RST, RES. RESET)
.equ   RSTPORT =PORTC ; порт к которому подключен сигнал RST (RES, RESET)
.equ   RSTDDR  =DDRC
.equ   RSTPIN  =3      ; номер пина порта

; Линия управления видом данные\команды (DC, D/C)
.equ   DCPORT  =PORTC   ; порт к которому подключен сигнал DC (D/C)
.equ   DCDDR   =DDRC
.equ   DCPIN   =2       ; номер пина порта


Виталий (аka ВитГо)
 
uwrteyДата: Пятница, 05.04.2013, 17:50 | Сообщение # 231
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Я ведь дисплей уже на порт "B" повесил...
Проблема с выводом информации уже в порту "B"
Вместо числа получаю закрашеную верхнюю треть экрана... как будто в регистр R16 каким то образом записывается другая информация...
Ни как не могу отследить от чего этот глюк... ( не могу найти ни какой взаимосвязи этого глюка с какой-то причиной )
Посижу еще покумекаю...


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

Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 17:54
 
ВитГоДата: Пятница, 05.04.2013, 17:54 | Сообщение # 232
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
тогда проверяй пины тоже ! может быть перепутал сигналы какие то ?
чудес то не бывает.. в других проектах работает :-)


Виталий (аka ВитГо)
 
uwrteyДата: Пятница, 05.04.2013, 18:02 | Сообщение # 233
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Дак в том то и дело, что вызывая вывод изображения из одного и того же места программы разными способами получаем, то работает, то не работает.
Вызывая процедуру вызова вывода на дисплей через rcall - получаю закрашеную область
а если в этом же месте стразу вызвать вывод информации - то все выводится в лучшем виде...

как будто теряеется содержимое регистра R16... только не могу понять как это в обще возможно..


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

Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 18:04
 
uwrteyДата: Пятница, 05.04.2013, 22:21 | Сообщение # 234
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Сообщение я удалил за ненадобностью вопроса, который тут писАл.

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

Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 22:43
 
uwrteyДата: Пятница, 05.04.2013, 22:42 | Сообщение # 235
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
НУ ВОТ Я САМ ОТВЕТИЛ НА СВОЙ ВОПРОС... biggrin

у меня прерывание по АЦП было включено! а вектор прерывания отсутствовал.. ( прерывание по АЦП мне ведь не нужно... )
>> я то думал, что нет вектора значит нет прерывания, А ЭТО НЕ ТАК!!!

ну догадываюсь я, что срабатывает какое-то прерывание после SEI - а вот какое, понять не могу... и оно выводило на экран этот квадрат малевича...

решил проверить настройки АЦП - и до меня дошло, что само прерывание у меня РАЗРЕШЕНО, не смотря на то, что вектор прерывания отсутствовал... facepalm

Сейчас я запретил само прерывание и информация на дисплей стала выводится из любого места....

завтра вечером, после работы, гляну осциллограмму...

П.С.
Проблема в том, что я еще не до конца понимаю устройство МК.
До меня не сразу доходит чем занимается процессор, а чем занимается периферия..
например я хочу просто запустить вычисление АЦП, а сам и зачем-то разрешаю прерывание по АЦП.
Но я обещаю, что во всем разберусь.. smile
.....со временем smile


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

Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 22:52
 
ВитГоДата: Суббота, 06.04.2013, 13:17 | Сообщение # 236
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
ну как бы да, на ассемблере наличие подпрограммы обработки прерываний не проверяется...

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

поэтому либо следить какие прерывания включены либо область прерываний всегда заполнять командами RETI по необходимости заменяя нужный вектор c RETI на RJMP


Виталий (аka ВитГо)
 
uwrteyДата: Суббота, 06.04.2013, 13:24 | Сообщение # 237
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Спасибо, Виталий - я вроде уже понял..

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

А если ни чего не найдет, то что будет ? ( вот это - у меня и было )


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

Сообщение отредактировал uwrtey - Суббота, 06.04.2013, 22:40
 
uwrteyДата: Суббота, 06.04.2013, 22:38 | Сообщение # 238
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Репутация: 11
Статус: Offline
Вот такой у меня получился код, правда и он не работает как нужно...
Я посмотрел осциллограмму и увидел, что картинка не меняется при изменении положения ручек - а значит, что что-то не так с АЦП.
К сожалению по техническим причинам я не смог прицепить оригинал осциллограммы и мне пришлось ее схематично нарисовать.
Прикрепления: 7825300.asm (14.5 Kb) · 4382625.jpg (7.1 Kb)


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

Сообщение отредактировал uwrtey - Суббота, 06.04.2013, 22:39
 
ВитГоДата: Суббота, 06.04.2013, 23:41 | Сообщение # 239
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
Цитата (uwrtey)
А если ни чего не найдет, то что будет ? ( вот это - у меня и было )


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

и ему пофигу что именно это за команда - он просто будет ее исполнять :-) в машинных кодах сообщений об ошибках нет :-)


Виталий (аka ВитГо)
 
ВитГоДата: Суббота, 06.04.2013, 23:42 | Сообщение # 240
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
Цитата (uwrtey)
Вот такой у меня получился код, правда и он не работает как нужно...
Я посмотрел осциллограмму и увидел, что картинка не меняется при изменении положения ручек - а значит, что что-то не так с АЦП.
К сожалению по техническим причинам я не смог прицепить оригинал осциллограммы и мне пришлось ее схематично нарисовать.


ну в принципе красота ! 3 канальных импульса и одна пауза..

разбирайся теперь с АЦП


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


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