Пропорциональное управление на МК с нуля
| |
ВитГо | Дата: Пятница, 05.04.2013, 03:06 | Сообщение # 226 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: 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
Статус: Offline
| да, фьюз JTAGEN включен http://vg.ucoz.ru/_fr/0/0376733.zip а за что он отвечает?
_________________________________
У меня сейчас проблема в том, что не выводятся информация на дисплей - вместо этого верхняя треть экрана полностью закрашивается.
Если удалить все лишнее и оставить только вывод ин-фы на дисплей, то все работает как надо.
Так-же все работает, если запретить все прерывания.
А если прерывания разрешены. И информация на дисплей должна выводится по входу в прерывание. То на дисплее я получаю закрашенную верхнюю треть.
И еще такой прикол - если вызвать процедуру подготовки вывода на дисплей через RCALL, то выводится закрашеная треть экрана! А если саму процедуру подготовки вывода на дисплей вставить в нужно место в коде, то информация начинает выводится на дисплей..
По моему что-то изменяет содержимое регистра R16. Только я не могу понять что это. И когда..
Может там какая-нибудь функция работает, про которую я не знаю...
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 10:05 |
|
| |
ВитГо | Дата: Пятница, 05.04.2013, 17:32 | Сообщение # 228 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| выключай !!! - это включена возможность подключения по JTAG - это формат общения хардварного отладчика !!!
для обычной работы - нужно выключать этот фюз !
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Пятница, 05.04.2013, 17:46 | Сообщение # 229 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Ясно. Попробую сегодня - выключу.
А что этот фуз-бит божет повлиять на работу вывода изображения ?
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 17:46 |
|
| |
ВитГо | Дата: Пятница, 05.04.2013, 17:46 | Сообщение # 230 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: 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
Статус: Offline
| Я ведь дисплей уже на порт "B" повесил... Проблема с выводом информации уже в порту "B" Вместо числа получаю закрашеную верхнюю треть экрана... как будто в регистр R16 каким то образом записывается другая информация... Ни как не могу отследить от чего этот глюк... ( не могу найти ни какой взаимосвязи этого глюка с какой-то причиной ) Посижу еще покумекаю...
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 17:54 |
|
| |
ВитГо | Дата: Пятница, 05.04.2013, 17:54 | Сообщение # 232 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| тогда проверяй пины тоже ! может быть перепутал сигналы какие то ? чудес то не бывает.. в других проектах работает :-)
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Пятница, 05.04.2013, 18:02 | Сообщение # 233 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Дак в том то и дело, что вызывая вывод изображения из одного и того же места программы разными способами получаем, то работает, то не работает. Вызывая процедуру вызова вывода на дисплей через rcall - получаю закрашеную область а если в этом же месте стразу вызвать вывод информации - то все выводится в лучшем виде...
как будто теряеется содержимое регистра R16... только не могу понять как это в обще возможно..
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 18:04 |
|
| |
uwrtey | Дата: Пятница, 05.04.2013, 22:21 | Сообщение # 234 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Сообщение я удалил за ненадобностью вопроса, который тут писАл.
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 22:43 |
|
| |
uwrtey | Дата: Пятница, 05.04.2013, 22:42 | Сообщение # 235 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| НУ ВОТ Я САМ ОТВЕТИЛ НА СВОЙ ВОПРОС...
у меня прерывание по АЦП было включено! а вектор прерывания отсутствовал.. ( прерывание по АЦП мне ведь не нужно... ) >> я то думал, что нет вектора значит нет прерывания, А ЭТО НЕ ТАК!!!
ну догадываюсь я, что срабатывает какое-то прерывание после SEI - а вот какое, понять не могу... и оно выводило на экран этот квадрат малевича...
решил проверить настройки АЦП - и до меня дошло, что само прерывание у меня РАЗРЕШЕНО, не смотря на то, что вектор прерывания отсутствовал...
Сейчас я запретил само прерывание и информация на дисплей стала выводится из любого места....
завтра вечером, после работы, гляну осциллограмму...
П.С. Проблема в том, что я еще не до конца понимаю устройство МК. До меня не сразу доходит чем занимается процессор, а чем занимается периферия.. например я хочу просто запустить вычисление АЦП, а сам и зачем-то разрешаю прерывание по АЦП. Но я обещаю, что во всем разберусь.. .....со временем
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Пятница, 05.04.2013, 22:52 |
|
| |
ВитГо | Дата: Суббота, 06.04.2013, 13:17 | Сообщение # 236 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ну как бы да, на ассемблере наличие подпрограммы обработки прерываний не проверяется...
и если настройками прерывание включено - то процессор перейдет на адрес вектора прерывания - и будет исполнять то что найдет как программу...
поэтому либо следить какие прерывания включены либо область прерываний всегда заполнять командами RETI по необходимости заменяя нужный вектор c RETI на RJMP
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 06.04.2013, 13:24 | Сообщение # 237 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Спасибо, Виталий - я вроде уже понял..
Цитата и если настройками прерывание включено - то процессор перейдет на адрес вектора прерывания - и будет исполнять то что найдет как программу... А если ни чего не найдет, то что будет ? ( вот это - у меня и было )
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 06.04.2013, 22:40 |
|
| |
uwrtey | Дата: Суббота, 06.04.2013, 22:38 | Сообщение # 238 |
Генерал-майор
Группа: Администраторы
Сообщений: 3270
Статус: Offline
| Вот такой у меня получился код, правда и он не работает как нужно... Я посмотрел осциллограмму и увидел, что картинка не меняется при изменении положения ручек - а значит, что что-то не так с АЦП. К сожалению по техническим причинам я не смог прицепить оригинал осциллограммы и мне пришлось ее схематично нарисовать.
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 06.04.2013, 22:39 |
|
| |
ВитГо | Дата: Суббота, 06.04.2013, 23:41 | Сообщение # 239 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Цитата (uwrtey) А если ни чего не найдет, то что будет ? ( вот это - у меня и было )
что значит "ничего" ? он встретит во флеш какие то байты - и будет интерпретировать их как команды :-))
и ему пофигу что именно это за команда - он просто будет ее исполнять :-) в машинных кодах сообщений об ошибках нет :-)
Виталий (аka ВитГо)
|
|
| |
ВитГо | Дата: Суббота, 06.04.2013, 23:42 | Сообщение # 240 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Цитата (uwrtey) Вот такой у меня получился код, правда и он не работает как нужно... Я посмотрел осциллограмму и увидел, что картинка не меняется при изменении положения ручек - а значит, что что-то не так с АЦП. К сожалению по техническим причинам я не смог прицепить оригинал осциллограммы и мне пришлось ее схематично нарисовать.
ну в принципе красота ! 3 канальных импульса и одна пауза..
разбирайся теперь с АЦП
Виталий (аka ВитГо)
|
|
| |
|