roboforum.ru

Технический форум по робототехнике.
Текущее время: 06 ноя 2024, 16:20

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15 ... 144  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 08 мар 2007, 13:54 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
А можно в обработчике этого прерывания просто выключить его на некоторое время.  

но резистор всеравно советую с конденсатором - это и ногу защищает от статики и всякой дряни.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 мар 2007, 18:48 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Чего вы думаете, что проблема в питании. Как я понял машинка без бампера нормально функционирует. Следовательно схема питания осуществленна правильно, значит проблема в бампере. Просто нужно уточнить машинка перестает работать сразу при навеске бампера, либо при ударом бампером о препятствие? Так же может быть что бампер коротит на землю, а если прерывание срабатывает не по спадающему фронту, а по нулю н ножке INT, то МК висит постоянно в прерывании. Либо бампер что-то коротит, тогда МК тоже ресетится, на машинке что-то греется? (У меня похожее было с Н-мостом).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 мар 2007, 19:51 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Master писал(а):
если прерывание срабатывает не по спадающему фронту, а по нулю н ножке INT, то МК висит постоянно в прерывании.


выше я уже предположил это.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 мар 2007, 12:10 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Спасибо за советы. Пару дней завален работой. :cry:  Как найду полчасика - поэкспериментирую и обязательно сообщу о результатах.
По поводу прерывания: начинает скакать и до столкновения с препятствием.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 мар 2007, 14:30 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Выключи его в программе после возникновения на некоторое время и посмотри.  Но резистор с конденсатором добавь !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 мар 2007, 15:41 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
avr123.nm.ru писал(а):
Master писал(а):
если прерывание срабатывает не по спадающему фронту, а по нулю н ножке INT, то МК висит постоянно в прерывании.


выше я уже предположил это.

Да не по нулю, а по спаду!  В генераторе кода Falling Edge для INT0 устанавливается. CVARV - сила!  :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 мар 2007, 16:05 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
да я ПОНЯЛ ! что по спаду у вас !

Я ж отвечал человеку ! что уже ПРЕДПОЛАГАЛ такой вариат ранее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 мар 2007, 16:40 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
Я понял что Вы поняли. И я ему же отвечал  :D  Сейчас на работе, дома вечером, если найду пару минут и конденсатор, попробую. Мысль с конденсатором и резистором стоящая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 мар 2007, 00:41 
Не в сети
Аватара пользователя

Зарегистрирован: 15 янв 2007, 19:23
Сообщения: 1058
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК
2 AVR123
Премного благодарен! Все работает как нужно. Поставил фильтр на ножку, взял проводок к прерыванию экранированным. Однако все равно интересна истинная причина (хотя на 90% - движки мешают).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 мар 2007, 07:57 
Не в сети

Зарегистрирован: 03 фев 2007, 20:24
Сообщения: 79
Откуда: Омск
Проблема!!! Какая то странная ерунда, программа из цикла не выходит!!!
Пробовал while, for... главное в других частях программы всё пашет как надо. Не могу понять. Определил функцию записи во флэш, с последующим чтением, писать наченает и переполняет буфер
писал while (i<528) а он шпарит мне 529.530.531.и тд. Может стек перерос... пробовал if (i==528) break; - фиг не работает !!!!???? Может у кого такаяже проблема была как быть???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 мар 2007, 10:09 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
вы кусок кода покажите.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 мар 2007, 10:25 
Не в сети

Зарегистрирован: 03 фев 2007, 20:24
Сообщения: 79
Откуда: Омск
Я нагло взял кусок кода из задачи 7 кажется, когда в память пишется.
В задаче работает. А у меня в программе нет!! Проверил переменные - всё в порядке.

while (last_byte_page < 4)  
   {
   dumb_data = 0;
   ctr = 0;
   
    while (ctr<528)
    {
    write_to_flash(dumb_data);
    dumb_data++;  
    ctr++;
    }
     
   }  

Оригинал.
у меня всё как в задаче.
last_byte_page плюсуется и прёт больше 4 и дальше. а из цикла не выходит.  :(

Я потом переделал чтобы только первая страница писалась тоже самое, из цикла не выходит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 мар 2007, 10:31 
Не в сети

Зарегистрирован: 03 фев 2007, 20:24
Сообщения: 79
Откуда: Омск
Может есть какоето ограничение по использованию циклов?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 мар 2007, 10:44 
Не в сети

Зарегистрирован: 03 фев 2007, 20:24
Сообщения: 79
Откуда: Омск
Вечером исходник выложу!! Сейчас на работе! Спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 мар 2007, 15:45 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
    while (ctr<528)
    {
    write_to_flash(dumb_data);
    dumb_data++;  
    ctr++;


 Тут вставьте ctr = 529;

Кроме того используйте отладку как в  avr123.nm.ru/z4.htm


    }
     

и проверьте что  ctr  не объявлена как char  он должна быть двухбайтовой - т.е.  int    или   unsigned int

Если не поможет то попробуй отключить оптимизацию этого учатска программы как написано в HELP


Example:

/* Turn optimization off, for testing purposes */

#pragma opt-

or

/* Turn optimization on */
#pragma opt+


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15 ... 144  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO