Список разделов Flyback.org.ru » не HV » МК для начинающих.
Тему сейчас просматривают - зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегестрированные - Нет
Ответить с цитатой

Seriyvolk
Бездельник


Приехал мне наконец JTAG программатор. И сразу проблемы: не могу найти драйвер для него. По запросу USB\VID_1A86&PID_7523&REV_0254 (это его) - гугл выдаёт что-то непонятное. Даже качнул какие-то дрова, винда ругнулась, что они не подписаны и дальше процесс стал. Студию 4.16 поставил, дров в ней не оказалось, отладчик она естественно не находит. Подозреваю, что должен появиться виртуальный СОМ-порт, а дальше....
Помогите, кто чем может... плакаю

Добавлено: Mon Dec 02, 2013 9:58 pm
Ответить с цитатой

Stkr
 


https://www.olimex.com/Products/AVR/Programmers/...-AVR-JTAG-USB.pdf
Оно, не?

Добавлено: Mon Dec 02, 2013 10:19 pm
Ответить с цитатой

Seriyvolk
Бездельник


Отключил обязательную проверку цифровой подписи драйверов, поставил таки драйвер. Мануал немного помог, не спорю... Но появилась следующая проблема...

Добавлено: Mon Dec 02, 2013 10:51 pm
рисунок.jpg (39.07 Кб)

Ответить с цитатой

Stkr
 


Seriyvolk писал(а):
Но появилась следующая проблема...

Программатор подключен к контроллеру? Фьюз JTAGEN установлен?

Добавлено: Mon Dec 02, 2013 11:32 pm
Ответить с цитатой

Seriyvolk
Бездельник


Не... До этого я исшо не дошёл... Меня первая строчка сильно смущает.

Добавлено: Mon Dec 02, 2013 11:36 pm
Ответить с цитатой

Денис
 


Мне кажется, в первой строчке он ругается что видит программатор, но не видит мк?

Добавлено: Mon Dec 02, 2013 11:40 pm
Ответить с цитатой

Seriyvolk
Бездельник


А мне кажется, что жалуется на инвалидный ИД самого программера... И кто прав? не знаю

Добавлено: Mon Dec 02, 2013 11:43 pm
Ответить с цитатой

Stkr
 


Seriyvolk писал(а):
Меня первая строчка сильно смущает.
А чего она тебя смущает? Студия говорит, что обнаружен жтаг-адаптер, но девайс не возвращает жтаг айди. Если МК не подключен, так и должно быть. Воткни МК с установленным жатагенэйбл фьюзом, должно заработать.

Добавлено: Mon Dec 02, 2013 11:47 pm
Ответить с цитатой

Денис
 


Смотри, он дальше пишет:
- Удостоверьтесь, что JTAG ICE (это программатор?) подключен к целевому устройству - думаю это мк.
- Убедитесь, что фьюз JTAGEN установлен - тоже относится к косякам со стороны мк.

Подцепи какой-нить камень и проверь Smile

Добавлено: Mon Dec 02, 2013 11:48 pm
Ответить с цитатой

Seriyvolk
Бездельник


Ну раз это нормальное поведение - тогда всё здорово! Всем спасибо за помощь! drink

Добавлено: Mon Dec 02, 2013 11:49 pm
Ответить с цитатой

Seriyvolk
Бездельник


Назрел вопрос: правильно ли я понял, что прерывание по спадающему фронту в тини13 возможно только по одной ножке - INT0?

Добавлено: Tue Jan 21, 2014 12:56 am
Ответить с цитатой

Vitek_22
Простой советский бомж


Появилось у меня 2 вопроса, нигде толком прояснить не могу.
1. Если на атмегу 8 на её 2 входа прерывания сигнал прийдёт одновременно или во время обработки одного прерывания (там несколько действий по обработке этого события) прийдёт по другому входу прерывание - что случится?

2. Если выполнить такой код:

PINC.1=1;
PINC.1=0;

каков в реальности окажется сигнал на выходе (частота тактирования 8 МГц) - будет ли это прямоугольник, правильно ли я понимаю, что его длительность будет несколько тактов или ровно 1 такт (1 мкс)? И достаточна ли будет его длительность чтобы запустить 555 таймер в моностабильном режиме (по 2 ноге)?

Добавлено: Tue Feb 04, 2014 8:36 pm
Ответить с цитатой

Seriyvolk
Бездельник


1. Если одновременно: выполнится то прерывание, чей приоритет выше. Приоритеты можно глянуть в файле студии m8def.inc
Код:
; ***** INTERRUPT VECTORS ************************************************
.equ   INT0addr   = 0x0001   ; External Interrupt Request 0
.equ   INT1addr   = 0x0002   ; External Interrupt Request 1

Если во время прерывания, то ничего не случится. Сначала выполнится то прерывание, которое выполняется в данный момент, потом выполнится второе.
2.Vitek_22 писал(а):
Если выполнить такой код:
PINC.1=1;
PINC.1=0;
То походу нифига не произойдёт. Из регистра PINx можно только читать. Это насколько я понял этот сишный код...


Добавлено: Tue Feb 04, 2014 8:45 pm
Ответить с цитатой

Vcoder
Магистр


Не в PINC, а в PORTC надо писать. Или как там этот порт обозван...
А Pin - таки да, это состояние выводов (независимо от соответствующего порта данных). Он только для чтения.

Добавлено: Tue Feb 04, 2014 9:09 pm
Ответить с цитатой

Vitek_22
Простой советский бомж


да, я ошибся - пока наизусть не знаю команды - писал по памяти, конечно PORT. Но вопрос в силе. Идея в общем такая, мне надо сформировать импульс длительностью 1 мс, но нельзя тратить на это время контроллера. Я думаю сформировать его за несколько тиков или сколько надо, чтобы поднять порт до лог.1 и опять опустить до 0. а с этого импульса запустить уже 555 таймер в моностаб. режиме. Вопрос в том, сколько будет длиться импульс, если не указывать delay, а просто разместить эти 2 строчки друг за другом

Seriyvolk, спасибо, с прерыванием прояснилось!

Добавлено: Tue Feb 04, 2014 9:17 pm
Ответить с цитатой

perezx
 


Точно сказать нельзя, но, скорее всего, 1-2 такта. Для 555го может не хватить.
И лучше использовать high(portc.1) и low(portc.1):

High(portc.1)
Delayms(1)
Low(portc.1)

Ну иди ставить low "потом", после каких-то осмысленных действий.

Добавлено: Tue Feb 04, 2014 9:30 pm
Ответить с цитатой

Seriyvolk
Бездельник


Импульс будет длиться 1 такт контроллера. Будет иголочка, чуть более 100 нСек.

Добавлено: Tue Feb 04, 2014 9:30 pm
Ответить с цитатой

Vcoder
Магистр


Vitek_22, заюзай таймер. Или нет свободных?

Добавлено: Tue Feb 04, 2014 9:45 pm
Ответить с цитатой

Vitek_22
Простой советский бомж


1 есть свободный, но я не совсем понимаю как его здесь применить. Мне надо, чтобы МК не тратил своё время на вот этот самый импульс и быстро гонял основную программу. Если задать тут задержку, то он же будет стоять на этих строках, пока их не выполнит

Добавлено: Wed Feb 05, 2014 11:08 am
Ответить с цитатой

Анна
 


Таймер можно использовать по-разному. Например, выдать единичку в порт, запустить таймер, на какое-нибудь прерывание (по переполнению TOV, по сравнению - OCxx) установить простейший обработчик - выключалку порта (cbi PORTx,x, reti). Или прямо через вывод OCxx генерировать импульс, а в прерывании выключать счет (прерывать работу таймера после первого же импульса).

Добавлено: Wed Feb 05, 2014 11:31 am
Ответить с цитатой

Vitek_22
Простой советский бомж


а если так поступить - приначале события обнулить таймер и вывести в порт "1", а при достижении таймером нужного времени импульса вывести "0". Я так понимаю, что пока таймер будет тикать, основная программа будет гоняться без проблем, а в порту будет "1"?

Добавлено: Wed Feb 05, 2014 12:34 pm
Ответить с цитатой

perezx
 


Тебе ж не принципиально, сколько продлится импульс. Поставь high() в основном коде, а low() после выполнения какого-то осмысленного действия. Например, на часах следующую секунду отобразишь.

Добавлено: Wed Feb 05, 2014 12:38 pm
Ответить с цитатой

Seriyvolk
Бездельник


Vitek_22 писал(а):
а если так поступить - приначале события обнулить таймер и вывести в порт "1", а при достижении таймером нужного времени импульса вывести "0". Я так понимаю, что пока таймер будет тикать, основная программа будет гоняться без проблем, а в порту будет "1"?
Да, именно так и будет.

Добавлено: Wed Feb 05, 2014 2:21 pm
Ответить с цитатой

Ivani
 


Обьясните дураку как на БК0010 в 8 КБ кода влезала целая операционка(ввод, вывод, ФДД, файловая система, коммандный процессор.....) а в ардуино только драйвер экранчика?

И на чем(чем) писать под атмеги, чтоб эффективный код получить?

Добавлено: Wed Feb 05, 2014 11:42 pm
Ответить с цитатой

STRAIDER
 


Ассемблер наше всё.

Добавлено: Wed Feb 05, 2014 11:50 pm
Список разделов Flyback.org.ru » не HV » МК для начинающих.
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.     Просмотр темы целиком



Лицензионное соглашение

(c)Flyback.org.ru
Российское общество любителей высоких напряжений.
Использование материалов с данного сайта и форума возможно только с разрешения администрации.