roboforum.ru

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

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

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 раз(а).

Re: AVR-MT-128

avr123.nm.ru » 23 апр 2010, 22:29

В авр студии выбираете - тулз - програм авр - авто конект Она сама JTAG найдет и прошивайте. А можно отладку запустить и указать как платформу JTAG.

Re: AVR-MT-128

CiSi » 23 апр 2010, 22:53

А можно через авр студию прошивать зашивать прошивки созданные в CVAVR? Если да то как?

Re: AVR-MT-128

avr123.nm.ru » 23 апр 2010, 22:57

Запускаете как прогер и указваете вашу прошивку.

Re: AVR-MT-128

CiSi » 23 апр 2010, 23:04

Спасибо, разабрался, буду теперь плату эту тестить. :)

Re: AVR-MT-128

CiSi » 24 апр 2010, 20:08

Возник такой вопрос: У меня в цикле два условия, одно отвечает за звук при замыкании кнопки, а другое за прием внешнего сигнала и вывод его на дисплей. Когда условия работаут в одном циклк, то резкость изображения теряется, а при нажатии на кнопку - звук работает как надо, а изображение частично востанавливается (но только на момент нажатия кнопки).

Re: AVR-MT-128

avr123.nm.ru » 24 апр 2010, 21:30

Нет вопроса и нет проЖекта.

Re: AVR-MT-128

CiSi » 25 апр 2010, 11:16

Вопрос: как добиться нормального изображения при одновременной работе условий в цикле?

Re: AVR-MT-128

avr123.nm.ru » 25 апр 2010, 11:18

определить что конкретно мешает изображению и устранить.

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 секунд:
Хотелось бы знать что мешает изображению?

Re: AVR-MT-128

CiSi » 25 апр 2010, 19:00

Проблему решил поставив задержку.

Re: AVR-MT-128

CiSi » 28 апр 2010, 21:15

Подскажите пожалуйста, как подсчитать сколько через энкодер прошло "сигналов".
Через прерывания?
Энкодер стоит на вращающемся диске с зубьями.

Re: AVR-MT-128

boez » 29 апр 2010, 11:10

Простейший вариант - один сигнал на прерывание, второй - просто на порт, прерывание допустим на фронт сигнала, в прерывании проверяем - если на порту 0, это вращение в одну сторону, если 1 - в другую. Главная проблема такой схемы - дребезг на ноге прерывания приведет к неправильному подсчету (лишние импульсы насчитает).

Re: AVR-MT-128

CiSi » 02 май 2010, 16:03

Вот у меня и проблемма то вся в точном подсчоте импульсов. нодо как можно точнее это делать.

Re: AVR-MT-128

avr123.nm.ru » 02 май 2010, 16:43

Можно подавать их на счетный вход таймера.


cron
Rambler\'s Top100 Mail.ru counter