roboforum.ru

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

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




Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 29, 30, 31, 32, 33, 34, 35 ... 144  След.
Автор Сообщение
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 18 апр 2008, 14:18 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Обновил волшебный шаблон для быстрого написания программ в CodeVisionAVR ( CVAVR ) для ATmega8 и ATmega16 и мгновенной проверке в симуляторе VMLAB или в PROTEUS.

Добавил ATmega8 и заготовку проектов CVAVR - PROTEUS.

В шаблоне проекты уже сконфигурированы и он легко адаптируется на другие МК AVR.
Посмотрите пример использования шаблона :
viewtopic.php?f=2&t=3958&p=52604#p5260

Вот картинка симуляции из шаблона в PROTEUS
Изображение


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

Зарегистрирован: 27 апр 2007, 21:25
Сообщения: 65
Откуда: Санкт-Петербург
Хлопцы, допоможить!!! Что за глюк, ни как не разберусь: на АЦП подается 2 сигнала, на 0-й и 1-й пин. По одиночке оба шикарно работают, а вот в месте начинают партачить

Код:
int main(void)
{

     DDRC = 0xFF;
     unsigned int l;
     unsigned int r;
     int rez;
while (1){
    ADMUX = 0b00000000;
    ADCSRA = 0b11000111;
     l = (unsigned int)(ADCW>>2);
     ADCSRA = 0b10000111;

      ADMUX = 0b00000001;
      ADCSRA = 0b11000111;
      r = (unsigned int)(ADCW>>2);
     ADCSRA=0b10000111;

      rez = l - r;
      if (rez > 0) PORTC = 0xFF;
     else PORTC = 0x00;
};
}



А он выводит всегда FF???


Последний раз редактировалось ZarK117 20 апр 2008, 18:36, всего редактировалось 2 раз(а).

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

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

Или в шаблоне сделай с симуляцией - viewtopic.php?f=2&t=1070
Сразу ясно будет в чем дело.


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

Зарегистрирован: 27 апр 2007, 21:25
Сообщения: 65
Откуда: Санкт-Петербург
Пробовал в AVRStudio, так там все шик, сначала отрабатывется 0-й, затем 1-й....и все тип топ...а на практике ..... опа!


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

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

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


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

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
проблема связана с тем, что не успевает перезарядиться емкость АЦП.
при обычном запуске АЦП происходит полтора преобразования,
т.е. если добавить второе преобразование, то скорее всего вы решите проблему,
можно кстати не отбрасывать первое измерение а усреднять.

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: МикроКонтроллеры начинающим - общие вопросы
СообщениеДобавлено: 03 май 2008, 08:48 
Не в сети

Зарегистрирован: 11 ноя 2007, 20:12
Сообщения: 57
Откуда: урал
во такой вопрос, навеян часами. В мк запущен таймер с перыванием по совпадению. Вопрос, таймер на счет запускается снова только после завершения процедуры обработки прерывания или есть возможность его запустить с нуля тут же после совпадения?


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

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Fox89 писал(а):
В мк запущен таймер с перыванием по совпадению. Вопрос, таймер на счет запускается снова только после завершения процедуры обработки прерывания или есть возможность его запустить с нуля тут же после совпадения?


Обновляют значение в таймере в начале обработчика прерывания - примеры смотри в задачах 13, 6 и 1 краткого курса по AVR. http://avr123.nm.ru/z13.htm


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

Зарегистрирован: 11 ноя 2007, 20:12
Сообщения: 57
Откуда: урал
avr123.nm.ru писал(а):
Обновляют значение в таймере в начале обработчика прерывания - примеры смотри в задачах 13, 6 и 1 краткого курса по AVR. http://avr123.nm.ru/z13.htm

видимо меня не совсем поняли. У меня настроен таймер на частоту 62500Гц, в регистр совпадения A занесено значение 625. Таким образом таймер читает от 0 до 625 и вызывает прерывание. Так вопрос, как только вызывается прерывание, таймер сам начинает считать с 0, или только по заершения обработки прерывания?

Курс полистал - много мусора, четкой логической структуры нет. Больше напоминает поток сознания. Неужели писать в строгом стиле, как это делали во всех технических книгах 50-60-70х уже не в почете? На кой черт надо цветом и размером выделать свои эмоциональные восклицания? Я конечно понимаю что "пользователи ничего не понимают, их в одно и то же по нескольку раз тыкать приходится" но это не повод по 10 раз одно и то же упоминать. Курс по содержанию неплох, но из за такого жуткого предстваления только проигрывает. Ни я, ни мои одногрупники не смогли усидеть за чтением этого курса, через пару минут уже в глазах рябит, пришлось сделать выбор в пользу нормально написаной книги, пусть не полной но с нормальным стилем изложения.


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

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Fox89 писал(а):
avr123.nm.ru писал(а):
Обновляют значение в таймере в начале обработчика прерывания - примеры смотри в задачах 13, 6 и 1 краткого курса по AVR. http://avr123.nm.ru/z13.htm


видимо меня не совсем поняли. У меня настроен таймер на частоту 62500Гц, в регистр совпадения A занесено значение 625. Таким образом таймер читает от 0 до 625 и вызывает прерывание. Так вопрос, как только вызывается прерывание, таймер сам начинает считать с 0, или только по заершения обработки прерывания ?


ОЧЕВИДНО ! вы не понимает написаного выше! или не читаете ... Таймеру ПЛЕВАТЬ на прерывание.

Можно в симуляторе посмотреть как он считает.

Fox89 писал(а):
На кой черт надо цветом и размером выделать свои эмоциональные восклицания? Я конечно понимаю что "пользователи ничего не понимают, их в одно и то же по нескольку раз тыкать приходится" но это не повод по 10 раз одно и то же упоминать.


Вот вам пример. Второй раз разными цветами написал вам. Надеюсь так ДОЙДЁТ !

Добавлено спустя 9 минут 25 секунд:
Fox89 писал(а):
Курс по содержанию неплох, но из за такого жуткого предстваления только проигрывает.

пришлось сделать выбор в пользу нормально написаной книги, пусть не полной но с нормальным стилем изложения.


Я выбираю СОДЕРЖАНИЕ :good: а форма для меня вторична.
Что это за КНИГА про AVR в которой не написано о том как работает таймер ??? :cry:
Скачайте нормальную книгу в библиотеке указаной в курсе или на первой странице топика и читайте.


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

Зарегистрирован: 11 ноя 2007, 20:12
Сообщения: 57
Откуда: урал
[quote="avr123.nm.ru"][/quote]
в книге как раз про таймеры есть, просто это та тонкость про которую в книге могут и не написать.

Почему я спрашиваю. Допустим таймеру плевать на прерывание. Тогда допустим таймер у нас работает на частоте кварца и будет давать прерывание каждые 10 тактов, а программа обработки прерывания выполняется за 20 тактов, получается если наступает прерывание, и после его наступления мы не запретим прерывания, то у нас не будет успевать обрабатываться подпрограмма обработки прерывания. А если мы будем запрещать прерывания, и не будем вручную обнулять таймер, то непонятно как тогда формировать малые промежутки времени, ведь неизвестно, сколько тактов будет обрабатываться функция после компиляции.

Вопрос бы не возник вообще, если бы не отставали часы...


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

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Прерывания описаны на стр 3. А сколько тактов - видно в симуляторе и В asm ЛИСТИНГЕ можно посчитать !


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

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
Fox89 писал(а):
Таким образом таймер читает от 0 до 625 и вызывает прерывание. Так вопрос, как только вызывается прерывание, таймер сам начинает считать с 0, или только по заершения обработки прерывания?

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


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

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
rig писал(а):
есть несколько режимов работы таймера какой из них в часах непонятно.

Да он написал режим таймера:
Fox89 писал(а):
У меня настроен таймер на частоту 62500Гц, в регистр совпадения A занесено значение 625.
Таким образом таймер читает от 0 до 625 и вызывает прерывание.

Просто читать ответы и ПОНИМАТЬ не желает почемуто.

Я уж и в задачу 13 посылал - http://avr123.nm.ru/z13.htm - там таймер именно в таком режиме работает и в процедуре прерывания обнуляется ... А он - бедолага :roll: - за формой содержания не видит.

Изображение

Неужели эта расцветка мешает восприятию ??? :shock: :shock: :shock:


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

Зарегистрирован: 03 авг 2007, 19:43
Сообщения: 1437
Откуда: Екатеринбург
прог. языки: Си, асм со словарем
я смотрел новую задачу. все понятно. может и другие поймут?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2149 ]  На страницу Пред.  1 ... 29, 30, 31, 32, 33, 34, 35 ... 144  След.

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


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

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


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

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