roboforum.ru

Технический форум по робототехнике.

AVR-MT-128_энкодер_продолжение

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

AVR-MT-128_энкодер_продолжение

Сообщение CiSi » 23 апр 2010, 20:16

Вообщем у меня вдруг появилась отладочная плата AVR-MT-128 (http://www.chipdip.ru/product0/726676229.aspx) и AVR-JTAG-L программатор-эмулятор (http://www.chipdip.ru/product0/497970519.aspx), проблема в том что назнаю как прошить, так как в основном пользуюсь 5 проводным программатором (ISP). Poniprog я так понимаю не работает с JTAG? Пробовал через CVAVR, но что то не срастается :(
Изображение
Изображение
Последний раз редактировалось CiSi 27 ноя 2010, 16:56, всего редактировалось 6 раз(а).
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение avr123.nm.ru » 23 апр 2010, 22:29

В авр студии выбираете - тулз - програм авр - авто конект Она сама JTAG найдет и прошивайте. А можно отладку запустить и указать как платформу JTAG.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: AVR-MT-128

Сообщение CiSi » 23 апр 2010, 22:53

А можно через авр студию прошивать зашивать прошивки созданные в CVAVR? Если да то как?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение avr123.nm.ru » 23 апр 2010, 22:57

Запускаете как прогер и указваете вашу прошивку.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: AVR-MT-128

Сообщение CiSi » 23 апр 2010, 23:04

Спасибо, разабрался, буду теперь плату эту тестить. :)
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение CiSi » 24 апр 2010, 20:08

Возник такой вопрос: У меня в цикле два условия, одно отвечает за звук при замыкании кнопки, а другое за прием внешнего сигнала и вывод его на дисплей. Когда условия работаут в одном циклк, то резкость изображения теряется, а при нажатии на кнопку - звук работает как надо, а изображение частично востанавливается (но только на момент нажатия кнопки).
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение avr123.nm.ru » 24 апр 2010, 21:30

Нет вопроса и нет проЖекта.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: AVR-MT-128

Сообщение CiSi » 25 апр 2010, 11:16

Вопрос: как добиться нормального изображения при одновременной работе условий в цикле?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение avr123.nm.ru » 25 апр 2010, 11:18

определить что конкретно мешает изображению и устранить.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: AVR-MT-128

Сообщение CiSi » 25 апр 2010, 12:07

Вот основная часть кода:
Код: Выделить всёРазвернуть
while(1){
               
      if (!(PINA & 0b00000001) || !(PINA & 0b00000010)
           || !(PINA & 0b00000100) || !(PINA & 0b00001000)
                                         || !(PINA & 0b00010000))       //if button 1 is pressed
      {
         PORTE = (PORTE & 0b11011111) | 0b00010000;   //set bit4 = 1; set bit5 = 0
         for (i=Frequency; i; i--);
         PORTE = (PORTE | 0b00100000) & 0b11101111;   //set bit4 = 0; set bit5 = 1
         for (i=Frequency; i; i--);
      }
   
    if (!(PINB.7==1))  {
  lcd_clear();
      lcd_putsf("User char 0:");}
else
{
  lcd_clear();   
lcd_putsf("No Signal");
   }   
         
 
  }   


Добавлено спустя 9 минут 17 секунд:
Хотелось бы знать что мешает изображению?
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение CiSi » 25 апр 2010, 19:00

Проблему решил поставив задержку.
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение CiSi » 28 апр 2010, 21:15

Подскажите пожалуйста, как подсчитать сколько через энкодер прошло "сигналов".
Через прерывания?
Энкодер стоит на вращающемся диске с зубьями.
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение boez » 29 апр 2010, 11:10

Простейший вариант - один сигнал на прерывание, второй - просто на порт, прерывание допустим на фронт сигнала, в прерывании проверяем - если на порту 0, это вращение в одну сторону, если 1 - в другую. Главная проблема такой схемы - дребезг на ноге прерывания приведет к неправильному подсчету (лишние импульсы насчитает).
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: AVR-MT-128

Сообщение CiSi » 02 май 2010, 16:03

Вот у меня и проблемма то вся в точном подсчоте импульсов. нодо как можно точнее это делать.
Аватара пользователя
CiSi
 
Сообщения: 1027
Зарегистрирован: 04 окт 2007, 16:11
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел

Re: AVR-MT-128

Сообщение avr123.nm.ru » 02 май 2010, 16:43

Можно подавать их на счетный вход таймера.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4