Отговори на тема  [ 19 мнения ]  Отиди на страница 1, 2  Следваща
Проблем при програмиране на атмега16 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Мар 04, 2007 10:21 pm
Мнения: 70
Мнение Проблем при програмиране на атмега16
Имам програматор на понипрог. Аз съм си го правил. Някъде от 1 година програмирам с него, но не много редовно. Снощи си играех с rs връзка и сменях буксите - ту да налея програмата, ту да я пробвам как комуникира(имам само 1 порт на PC-то). И изведнъж докато наливах ми даде, че устройството не може да бъде намерено или е непознато. Днес проверих връзките на програматора, свалих транзистора и диодите и ги проверих и тях - работят. Възможно ли е да се е повредил контролера? КОгато това стана си играех с fuse регистрите (ако не се лъжа) и по-точно CKSEL3:0. Има ли някаква особеност при работата с тях - в смисъл може ли от това да съм прецакал нещо и да не иска да се свърже сега?
Някакви съвети да разбера къде е проблема

ПП: това е програматора ми http://www.lancos.com/e2p/si-prog-v2_2.pdf


Съб Мар 22, 2008 12:03 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Юли 13, 2007 10:19 am
Мнения: 52
Местоположение: Хасково
Мнение 
Тази тема май е за академия. Свали си даташита на атмега16 и виж как се прави външен RC генератор.Навържи си един и си оправи фузовете. Най-вероятно това ти е проблема. На това се казва да си отрежеш клона на, който седиш . ;)


Съб Мар 22, 2008 12:41 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 10, 2006 2:40 pm
Мнения: 2258
Мнение 
то AVR-ите с това са извесни, като запишеш грешни fuses и заключваш процесора после само с външен клок го оправяш


Съб Мар 22, 2008 1:59 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Мар 04, 2007 10:21 pm
Мнения: 70
Мнение 
3aek написа:
то AVR-ите с това са извесни, като запишеш грешни fuses и заключваш процесора после само с външен клок го оправяш

Не знаех, че е токова опасно да си играя там :oops:


vankata написа:
Тази тема май е за академия. Свали си даташита на атмега16 и виж как се прави външен RC генератор.Навържи си един и си оправи фузовете. Най-вероятно това ти е проблема. На това се казва да си отрежеш клона на, който седиш . ;)

Имам кварц 4 М и исках него да го пусна, но не бях сигурен точно какви стойности да задам на 4-те бита и налучквах. Сега не мога да оправя фузовете, защото като дам да прочете/запише нещо ми дава, че не намира устройство или то е непознато.
Има ли начин да го оправя?


Съб Мар 22, 2008 10:35 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Нед Юли 02, 2006 10:27 pm
Мнения: 152
Местоположение: Пловдив
Мнение 
И аз бях направил същата издънка :weedman: То май найстина AVR-ите се славят с това :D

На 25 страница от даташийта има описание на фюз битовете за генератора.
На 31 страница има описано как се включва външен генератор.
Трябва да си сглобиш един ТТл генератор на 1 мегахерц, да подадеш тази честота на XTAL1 и тогава чак да четеш/записваш.

Поздрави!


Пон Мар 24, 2008 12:08 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Юли 13, 2007 10:19 am
Мнения: 52
Местоположение: Хасково
Мнение 
Ето ти един линк с пищов за мързеливо избиране на фузовете ;)
http://palmavr.sourceforge.net/cgi-bin/ ... P=ATmega16


Пон Мар 24, 2008 12:42 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Мар 04, 2007 10:21 pm
Мнения: 70
Мнение 
vankata написа:
Ето ти един линк с пищов за мързеливо избиране на фузовете ;)
http://palmavr.sourceforge.net/cgi-bin/ ... P=ATmega16

Това го намерих, но късно
Tanev написа:
Трябва да си сглобиш един ТТл генератор на 1 мегахерц, да подадеш тази честота на XTAL1 и тогава чак да четеш/записваш.

Зачетох няколко теми на английски и там хората пускат 2-ри контролер да генерира сигнала, та и аз съм се запътил на там, само че пише, че се програмира в ISP mode, а не знам дали моя програматор е такъв. Ето го http://www.lancos.com/e2p/si-prog-v2_2.pdf , А да махна ли кварца от XTAL1, когато подам сигнала от генератора?


Пон Мар 24, 2008 7:49 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Юли 13, 2007 10:19 am
Мнения: 52
Местоположение: Хасково
Мнение 
Ами като си го направил тоя програматор от сайта дето го даваш , не можа ли да се разгледаш в същият този сайт и да видиш примерно това:
http://www.lancos.com/prog.html#avrisp
Същата модификация се казава STK200 и като я напишеш в гугала излиза на много места, ще се учудиш колко по-бързо работи от стандарния SI-Prog 2.2 дето си го направил за серийния порт .


Вто Мар 25, 2008 12:51 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Мар 04, 2007 10:21 pm
Мнения: 70
Мнение 
Видях го, но като не знам моя какъв е защо да се бутам да правя друг? Е щом е нужно ще го направя, а и щом казваш, че работи по-бързо
Благодаря

А този извод от къде идва?


Прикачени файлове:
untitled.PNG
untitled.PNG [ 7.72 KiB | Прегледано 3854 пъти ]
Вто Мар 25, 2008 8:28 am
Профил
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Пон Фев 21, 2005 2:14 pm
Мнения: 191
Местоположение: Varna
Мнение 
корпуса на буксата

_________________
Шанс едно на милион, обикновено се случва девет от десет пъти.


Вто Мар 25, 2008 8:36 am
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Мар 04, 2007 10:21 pm
Мнения: 70
Мнение 
Направих този програматор - чудо тръгна ми от 1-вия път, но дотък с добрите новини.
Сега имам и 2-ра атмега (работеща). Намерих код как да генерирам честота 1 МHz с работещия и да я пуска към XTAL1 на неработещия. Ето го
Код:
.include "m16def.inc"

.cseg
.org    0x00
rjmp   main


main:
      ldi      r16,0xFF
      out      DDRD,r16

loop1:
      cpi      r17,0x08
      breq    loop2
      ldi      r16,0xff;
      out    PORTD,r16
      inc      r17
      rjmp   loop1

loop2:
      cpi    r17,0x00
      breq    loop1
      ldi      r16,0x00
      out      PORTD,r16
      dec      r17
      rjmp    loop2 


Но мултицета ми измерва 8.58КHz. Опитвах разни мои кодове, но без успех, а и няма как да измеря честотата при тях, защото мултицета ми мери до 20К.
Според фусе битовете атмегата работи на 1МHz.

ПП: Наистина този програматор работи по-бързо ;)


Пет Мар 28, 2008 10:36 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Мар 04, 2007 10:21 pm
Мнения: 70
Мнение 
Стана!!!! Съживих гооо.
Значи настроих работещия на 8 MHz, но с онзи пищов, който ми предложих по горе, че не исках да си има 2 неработещи меги. И карах по логиката: ако на 1 такт порта е 1 на следващия е 0 => 2 такта за 1 импулс => трябва да го накарам да прави нещо 3 такта и на 4-тия да преобръщам стойността. Направих това:
Код:
   while(1)
   {
      PORTD = PORTD;
      PORTD = PORTD;
      PORTD = PORTD;
      PORTD = ~PORTD;
   }
. Да ама не... Викам си явно операциите искат повече такта - ще ги намалям, пък дано стане. И тук стана:
Код:
   while(1)
   {
      PORTD = PORTD;
      PORTD = ~PORTD;
   }


Благодаря на всички ви за отговорите


Съб Мар 29, 2008 12:40 am
Профил
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Пон Яну 09, 2006 11:32 am
Мнения: 276
Местоположение: Kozloduy
Мнение 
Извинявай ама ти май на всеки ред написан код, правиш по десет реда коментар из форума, с това темпо ...


Съб Мар 29, 2008 11:35 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Нед Мар 04, 2007 10:21 pm
Мнения: 70
Мнение 
bobyk написа:
Извинявай ама ти май на всеки ред написан код, правиш по десет реда коментар из форума, с това темпо ...

Ами като нещо не е наред искам помощ, а когато стане не виждам какъв е проблема да напиша как е станало и когато някой има същия проблем да види как се оправя


Съб Мар 29, 2008 11:52 pm
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
тигърче вместо да пишеш код който и ти не си разбираш не е ли по добре да напишеш


PORTD = 0;

while(1)
{
PORTD ^= 0xff;
}

и айде да обесниш идеята от

PORTD = PORTD ; то не е ли и без това равно
като искаш закъснение от 1 такт не можеш ли да напишеш

nop();
или там както ти се пише в компилатора

например

while(1)
{
PORTD ^= 0xff;
nop();
nop();
}

or

while(1)
{
PORTD = 0xff;
nop();
PORTD = 0x00;
nop();
}


Пон Мар 31, 2008 12:31 am
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 19 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 10 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни