| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Проблем при програмиране на атмега16 http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=5624 |
Страница 1 от 2 |
| Автор: | tiger [ Съб Мар 22, 2008 12:03 am ] |
| Заглавие: | Проблем при програмиране на атмега16 |
Имам програматор на понипрог. Аз съм си го правил. Някъде от 1 година програмирам с него, но не много редовно. Снощи си играех с rs връзка и сменях буксите - ту да налея програмата, ту да я пробвам как комуникира(имам само 1 порт на PC-то). И изведнъж докато наливах ми даде, че устройството не може да бъде намерено или е непознато. Днес проверих връзките на програматора, свалих транзистора и диодите и ги проверих и тях - работят. Възможно ли е да се е повредил контролера? КОгато това стана си играех с fuse регистрите (ако не се лъжа) и по-точно CKSEL3:0. Има ли някаква особеност при работата с тях - в смисъл може ли от това да съм прецакал нещо и да не иска да се свърже сега? Някакви съвети да разбера къде е проблема ПП: това е програматора ми http://www.lancos.com/e2p/si-prog-v2_2.pdf |
|
| Автор: | vankata [ Съб Мар 22, 2008 12:41 pm ] |
| Заглавие: | |
Тази тема май е за академия. Свали си даташита на атмега16 и виж как се прави външен RC генератор.Навържи си един и си оправи фузовете. Най-вероятно това ти е проблема. На това се казва да си отрежеш клона на, който седиш . |
|
| Автор: | 3aek [ Съб Мар 22, 2008 1:59 pm ] |
| Заглавие: | |
то AVR-ите с това са извесни, като запишеш грешни fuses и заключваш процесора после само с външен клок го оправяш |
|
| Автор: | tiger [ Съб Мар 22, 2008 10:35 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Не знаех, че е токова опасно да си играя там
Имам кварц 4 М и исках него да го пусна, но не бях сигурен точно какви стойности да задам на 4-те бита и налучквах. Сега не мога да оправя фузовете, защото като дам да прочете/запише нещо ми дава, че не намира устройство или то е непознато. Има ли начин да го оправя? |
|||||||||||||||||||
| Автор: | Tanev [ Пон Мар 24, 2008 12:08 pm ] |
| Заглавие: | |
И аз бях направил същата издънка На 25 страница от даташийта има описание на фюз битовете за генератора. На 31 страница има описано как се включва външен генератор. Трябва да си сглобиш един ТТл генератор на 1 мегахерц, да подадеш тази честота на XTAL1 и тогава чак да четеш/записваш. Поздрави! |
|
| Автор: | vankata [ Пон Мар 24, 2008 12:42 pm ] |
| Заглавие: | |
Ето ти един линк с пищов за мързеливо избиране на фузовете http://palmavr.sourceforge.net/cgi-bin/ ... P=ATmega16 |
|
| Автор: | tiger [ Пон Мар 24, 2008 7:49 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Това го намерих, но късно
Зачетох няколко теми на английски и там хората пускат 2-ри контролер да генерира сигнала, та и аз съм се запътил на там, само че пише, че се програмира в ISP mode, а не знам дали моя програматор е такъв. Ето го http://www.lancos.com/e2p/si-prog-v2_2.pdf , А да махна ли кварца от XTAL1, когато подам сигнала от генератора? |
|||||||||||||||||||
| Автор: | vankata [ Вто Мар 25, 2008 12:51 am ] |
| Заглавие: | |
Ами като си го направил тоя програматор от сайта дето го даваш , не можа ли да се разгледаш в същият този сайт и да видиш примерно това: http://www.lancos.com/prog.html#avrisp Същата модификация се казава STK200 и като я напишеш в гугала излиза на много места, ще се учудиш колко по-бързо работи от стандарния SI-Prog 2.2 дето си го направил за серийния порт . |
|
| Автор: | tiger [ Вто Мар 25, 2008 8:28 am ] | ||
| Заглавие: | |||
Видях го, но като не знам моя какъв е защо да се бутам да правя друг? Е щом е нужно ще го направя, а и щом казваш, че работи по-бързо Благодаря А този извод от къде идва?
|
|||
| Автор: | Cvetanov [ Вто Мар 25, 2008 8:36 am ] |
| Заглавие: | |
корпуса на буксата |
|
| Автор: | tiger [ Пет Мар 28, 2008 10:36 pm ] | |||||||||
| Заглавие: | ||||||||||
Направих този програматор - чудо тръгна ми от 1-вия път, но дотък с добрите новини. Сега имам и 2-ра атмега (работеща). Намерих код как да генерирам честота 1 МHz с работещия и да я пуска към XTAL1 на неработещия. Ето го
Но мултицета ми измерва 8.58КHz. Опитвах разни мои кодове, но без успех, а и няма как да измеря честотата при тях, защото мултицета ми мери до 20К. Според фусе битовете атмегата работи на 1МHz. ПП: Наистина този програматор работи по-бързо |
||||||||||
| Автор: | tiger [ Съб Мар 29, 2008 12:40 am ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Стана!!!! Съживих гооо. Значи настроих работещия на 8 MHz, но с онзи пищов, който ми предложих по горе, че не исках да си има 2 неработещи меги. И карах по логиката: ако на 1 такт порта е 1 на следващия е 0 => 2 такта за 1 импулс => трябва да го накарам да прави нещо 3 такта и на 4-тия да преобръщам стойността. Направих това:
Благодаря на всички ви за отговорите |
|||||||||||||||||||
| Автор: | bobyk [ Съб Мар 29, 2008 11:35 pm ] |
| Заглавие: | |
Извинявай ама ти май на всеки ред написан код, правиш по десет реда коментар из форума, с това темпо ... |
|
| Автор: | tiger [ Съб Мар 29, 2008 11:52 pm ] | |||||||||
| Заглавие: | ||||||||||
Ами като нещо не е наред искам помощ, а когато стане не виждам какъв е проблема да напиша как е станало и когато някой има същия проблем да види как се оправя |
||||||||||
| Автор: | VSU [ Пон Мар 31, 2008 12:31 am ] |
| Заглавие: | |
тигърче вместо да пишеш код който и ти не си разбираш не е ли по добре да напишеш 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(); } |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|