реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> От HELP MEGA8 к вопрос по IAR!, Переходим с проблемы на проблему!
Sergio66
сообщение Jun 21 2005, 14:19
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Цитата(NickB @ Jun 21 2005, 16:59)
А чем Вы грузите устр в первом и во втором случае?
*

AS-2 Argussoft на других проектах проблем не было. Кстати, откомпиллированный код на асме (который работает без вопросов) я шью этим же программатором.
Go to the top of the page
 
+Quote Post
Sergio66
сообщение Jun 21 2005, 15:07
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Еще один прикол от IAR?
Пишем:
DDRB|= (1<<PB1);

for(;;) {
PORTB^=(1<<PB1);
Delay(500);
}
где Delay() - библиотечная ф-я
и эта прога пускается не всегда, и чаще всего, диод моргает в четверть накала.
А вот код

for(;;)
{
DDRB|= (1<<PB1);
PORTB^=(1<<PB1);
Delay(500);
}
пускается, правда, тоже не всегда, но диод моргает в полный рост!
Выходит, команда DDRB|= (1<<PB1); в первом случае не успевает выполняться (ну не выполняется она!!!) И диод оказывается подключен к ноге, опрределенной на ввод, с подтянутым резистором!
Как такое может быть???
Go to the top of the page
 
+Quote Post
indela
сообщение Jun 21 2005, 17:33
Сообщение #18


Участник
*

Группа: Свой
Сообщений: 50
Регистрация: 13-03-05
Из: Минск
Пользователь №: 3 309



Цитата(Sergio66 @ Jun 21 2005, 18:07)
Еще один прикол от IAR?
Пишем:
    DDRB|= (1<<PB1);

    for(;;)    {
        PORTB^=(1<<PB1);
        Delay(500);
    }
где Delay() - библиотечная ф-я
и эта прога пускается не всегда, и чаще всего, диод моргает в четверть накала.
А вот код
   
    for(;;)
    {
        DDRB|= (1<<PB1);
        PORTB^=(1<<PB1);
        Delay(500);
    }
пускается, правда, тоже не всегда, но диод моргает в полный рост!
Выходит, команда  DDRB|= (1<<PB1); в первом случае не успевает выполняться (ну не выполняется она!!!) И диод оказывается подключен к ноге, опрределенной на ввод, с подтянутым резистором!
Как такое может быть???
*


4.10 все работает только что проверил
Go to the top of the page
 
+Quote Post
Sergio66
сообщение Jun 21 2005, 17:39
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Есть!!!!! Заработало!!!
Обратил внимание на то, что не выполняется первая команда программы. Оказалось, что в нулевом слове зашиты 00, т.е. по ресету выполняется NOP, и далее - по всем векторам. А вектора инициализированы RETI, далее - понятно.
Начал искать, как инициализировать RST_VECT, и оказалось, что в опциях линкера, почему то указан выходной формат intel-extended, а он в свою очередь (это тоже оказалось) 4 прервых байта просто меняет на 0!!!
Вот и все!!! И это целый день коллективного мозгового штурма. Спасибо всем, кто принял участие!
Go to the top of the page
 
+Quote Post
NickB
сообщение Jun 22 2005, 06:52
Сообщение #20


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 22-06-04
Пользователь №: 102



Похоже что ваш программатор неверно понимает формат Intel Extended
Там в первой строке должен быть адрес сегмента Вот он то и равет нулю
Go to the top of the page
 
+Quote Post
yung
сообщение Jun 22 2005, 06:58
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 207
Регистрация: 25-03-05
Из: Рязань
Пользователь №: 3 669



Зато сколько информативных постов! biggrin.gif biggrin.gif biggrin.gif
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th July 2025 - 13:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016