Andrey K. 0 30 октября, 2008 Опубликовано 30 октября, 2008 · Жалоба Здравствуй, уважемый ALL! Вопрос такой. Только начинаю осваивать микроконтроллеры. Написал простейший проект в IAR 5.11, в котором пытаюсь заставить моргать светодиоды. Думаю, не надо приводить его в пример здесь. Микросхему, Mega8535, прошиваю программатором Sterh 011. Вроде все понятно, но ни чего не работает! Сконфигурировал биты конфигурации для работы с кварцевым резонатором, частота 11,059Мгц. После компиляции получаю два файла прошивки, один большего размера, другой гораздо меньшего. Вот вопрос по этому поводу: они оба нужны для прошивки? Если оба, то куда и как прошивать второй файл? И еще! В инете почти нет информации по осваиванию IARа! С английски совсем туго, потому родной файл справки для меня совсем непонятен, даже с Промптом... Если укажете на нормальный сайт или книгу по освоению IARа, буду бесконечно признателен!!! Помогите заставить работать проект! Извиняюсь, может не в ту тему написал... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vladimir_J 0 30 октября, 2008 Опубликовано 30 октября, 2008 · Жалоба Приветствую :) По поводу не работает может быть много факторов (не в обиду): - конфигурацию порта вывода; - не тот include файл подлинкованный; - и т.д. По поводу книг, к сожалению сам искал, но в Инете только английская инфа :( С Уважением, Владимир. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey K. 0 30 октября, 2008 Опубликовано 30 октября, 2008 · Жалоба Прилинкованный файл правильный! А вот как сконфигурировать порты ввода вывода? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GDI 0 30 октября, 2008 Опубликовано 30 октября, 2008 · Жалоба Начитнать проще не с ИАРа, а с CodeVision-а, в основном из-за того что в последнем есть мастер создания проекта, который сделает за вас часть работы, начальную инициализацию портов и другой приферии. Да и с результирующими файлами та мпроще, он сразу генерит 2 файла - .hex и .eep, первый это сама прошивка, а второй это содержимое еепром. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
singlskv 0 30 октября, 2008 Опубликовано 30 октября, 2008 · Жалоба Микросхему, Mega8535, прошиваю программатором Sterh 011. Вроде все понятно, но ни чего не работает! Сконфигурировал биты конфигурации для работы с кварцевым резонатором, частота 11,059Мгц. Шьете через Chip Sterh Studio под win ? Покажите конфигурационное слово в 16ричном виде. Возможно Вы не так его конфигурируете, в Sterh Studio On=0=вкл. Off=1=выкл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey K. 0 30 октября, 2008 Опубликовано 30 октября, 2008 (изменено) · Жалоба Шьете через Chip Sterh Studio под win ?Покажите конфигурационное слово в 16ричном виде.Возможно Вы не так его конфигурируете, в Sterh StudioOn=0=вкл.Off=1=выкл. Да, шью в Sterh Studio под WinXP. Конфигурационное слово: ЕЕ59. Заодно прикладываю саму программу: #include <iom8535.h> #include <inavr.h> int main(void) { DDRB_Bit0 = 1; // while (1) { __delay_cycles(1000000); // задержка PORTA_Bit0 = 1; // включить B0 PORTA_Bit1 = 1; PORTA_Bit2 = 1; __delay_cycles(1000000); // еще задержка PORTB_Bit0 = 0; // ... и выключить. PORTB_Bit1 = 0; PORTB_Bit2 = 0; } } Уважаемые, бьюсь головой о стену! :crying: Моя невнимательность опять сыграла злую шутку!!! Нашел косяк, он в програмном коде... Все исправил, теперь все моргает и мельтешит как надо! :08: Всем большое спасибо! Изменено 30 октября, 2008 пользователем Andrey K. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
espectro 0 1 ноября, 2008 Опубликовано 1 ноября, 2008 · Жалоба { DDRB_Bit0 = 1; // while (1) { __delay_cycles(1000000); // задержка PORTA_Bit0 = 1; // включить B0 PORTA_Bit1 = 1; PORTA_Bit2 = 1; __delay_cycles(1000000); // еще задержка PORTB_Bit0 = 0; // ... и выключить. PORTB_Bit1 = 0; PORTB_Bit2 = 0; } } Ну хотя бы так : DDRA=0x7; // Настравиваем 3 ноги на выход __delay_cycles(1000000); // задержка PORTA_Bit0 = 1; // включить[b]B[/b] PORTA_Bit1 = 1; PORTA_Bit2 = 1; __delay_cycles(1000000); // задержка PORTA_Bit0 = 0; // выключить[b]B[/b] PORTA_Bit1 = 0; PORTA_Bit2 = 0; А то Вы включаете светодиоды на одном порту, а выключаете уже на другом ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться