roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 116, 117, 118, 119, 120, 121, 122 ... 144  След.
Автор Сообщение
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 02 окт 2010, 11:47 
Не в сети
Аватара пользователя

Зарегистрирован: 30 дек 2009, 08:16
Сообщения: 106
Откуда: Омск
Skype: hedgehoguse
Да это проверено тоже, без прерывания работает все нормально, т.е. могу контролировать ногу, все работает, а как только делаю на прерывании, то вот такая ерунда. Плата тестовая тоже проверена не раз, но еще ни разу не работал с прерываниями в реальности, только виртуально :sorry:

Добавлено спустя 2 часа 25 минут 32 секунды:
Добился работы переделав на:
Код:
TIMSK=0x80;

и прерывание:
Код:
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
// Place your code here
        PORTD.0=~PORTD.0;
}


но есть одно но: прерывание генерируется с максмальной частотой 36-38 кГц. И никак я его не могу его увеличить при частоте ядра 1 МГц. неважно, OCR2=0x12 или 0x02, частота будет одинакова... почему?

Добавлено спустя 7 минут 5 секунд:
Изменил частоту кварца на 2МГц, соответственно увеличилась и частота получения прерывания. Выходит, есть некоторое "железное" ограничение, выше которого не прыгнешь?

Добавлено спустя 2 минуты 39 секунд:
Кстати, на картинке изображен не висящий провод, т.к. это горит ИК светодиод, а снимаю показания звуковухой через фотодиод. Светодиод не будет же гореть, если нога будет "висящей"

_________________
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 02 окт 2010, 18:08 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
если скомпилировать пустой int main(), в хексе будет последний код - 76?
нет пк под рукой, чтоб глянуть

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 02 окт 2010, 21:39 
Не в сети
Аватара пользователя

Зарегистрирован: 30 дек 2009, 08:16
Сообщения: 106
Откуда: Омск
Skype: hedgehoguse
скомпилировал вот это:
void main(void)
{
}

в cvavr, получилось аж 92 слова, в хексе аж 218 последний... если я правильно понял о чем речь :-X

_________________
В гугле есть все! Даже то, чего еще нет!

Не спорь с холостяком о макаронах!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 06 окт 2010, 20:55 
Не в сети
Аватара пользователя

Зарегистрирован: 23 янв 2010, 17:41
Сообщения: 27
Откуда: Краснодар
Доброго вечера.
Есть вот такой код:
Код:
void search (void) {
    stop(); 
    for (servo = 400; servo < 1600; servo += 100) {
        if (PIND.3 == 0) {
            i = servo;
            break;
            servo = 970; //центр
        }
        delay_ms(100);
    }

    s = abs(1000-i);
    s = s*1.75;

    if (i < 1000) {
        turn_left();
    }

    else if (i > 1000) {
        turn_right();
    }
   
    else if (i == 0) {
        move_backward();
        search();
    }
    #asm ("sei");
}


Прерывание:
Код:
interrupt [EXT_INT1] void ext_int1_isr(void) {
    #asm ("cli");
    search();
}

Срабатывает по сигналу с Sharp'а, вроде всё нормально, вот только есть подозрение, что эта подпрограмма выполняется три раза подряд, причём i всегда больше 1000 и выполняется turn_right() (или turn_left, в зависимости от знака < или >). Может #asm ("cli"); не срабатывать? Да и уместно ли использование этой операции в прерывании?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 06 окт 2010, 21:34 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
При выполнении прерывания они и так глобально запрещаются ! Механизм прерывания в AVR - http://proavr.narod.ru/03.htm

Я бы не советовал из прерывания вызвать функцию. Просто установите флаг ( переменная или бит ) - сделайте его "1" например - и в основном цикле проги вставьте условие
Код:
if( флаг ) { вызвать нужную функцию }

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 06 окт 2010, 21:37 
Не в сети
Аватара пользователя

Зарегистрирован: 23 янв 2010, 17:41
Сообщения: 27
Откуда: Краснодар
Поооооонял. Сейчас гляну. Благодарен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 08 окт 2010, 09:01 
Не в сети
Аватара пользователя

Зарегистрирован: 07 сен 2009, 20:06
Сообщения: 333
прог. языки: c, c#
ФИО: Евгений
ADonis, замените
Код:
PORTD.0=~PORTD.0;
на
Код:
PORTD.0=~PIND.0;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 08 окт 2010, 10:07 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
а зачем если не секрет ? )

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 24 окт 2010, 16:56 
Не в сети
Аватара пользователя

Зарегистрирован: 07 сен 2009, 20:06
Сообщения: 333
прог. языки: c, c#
ФИО: Евгений
Регистр PORT разве не Write only?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 24 окт 2010, 17:09 
Не в сети
отсылающий читать курс
Аватара пользователя

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

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 02 ноя 2010, 01:10 
Не в сети

Зарегистрирован: 18 окт 2009, 12:36
Сообщения: 22
Откуда: Самара
Доброго времени суток! Возникла проблема с подключением ЖКИ 16х2 DV-16236.
Собрал в соотвествии с даташитом. просимулировал в ISIS.всё тип-топ. в контроллер зашил всего одну строчку с putsf.
при подаче питания загорается подсветка и почему-то только все точки верхней строки ЖКИ. на этом всё кончается.
Исключил, что проблема может быть в контроллере, подвесив поморгать светодиод.

В чём может быть проблема? Нужно ли изначально в визарде подтягивать к VCC порт на котором висит ЖКИ( читал где-то)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 02 ноя 2010, 10:55 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
А в Протеус работаетпрограмма? Можете выложить схему и программу?

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 02 ноя 2010, 13:56 
Не в сети

Зарегистрирован: 18 окт 2009, 12:36
Сообщения: 22
Откуда: Самара
Выкладывать собственно и нечего. в конечном итоге просто сделал всё как в http://avr123.nm.ru/z5.htm с той лишь разницей что вешал дисплей на порт С :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 02 ноя 2010, 14:54 
Не в сети
отсылающий читать курс
Аватара пользователя

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

_________________
Читайте !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллер AVR начинающим - общие вопросы
СообщениеДобавлено: 02 ноя 2010, 15:47 
Не в сети

Зарегистрирован: 18 окт 2009, 12:36
Сообщения: 22
Откуда: Самара
В предыдущем посте имел ввиду, что даже сделав по задаче 5 курса - всё равно не заработало.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 116, 117, 118, 119, 120, 121, 122 ... 144  След.

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


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

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


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

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