roboforum.ru

Технический форум по робототехнике.

 

МикроКонтроллер AVR начинающим - общие вопросы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Сообщение avr123.nm.ru » 21 окт 2006, 15:53

дак в его примерах наверняка и есь!
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение =DeaD= » 21 окт 2006, 17:57

overlocker писал(а):Опрос порта (скажем ПБ6 сконфуженый на вход)  производится с некоторой задержкой, пока идет выполнение основной программы движения. Несколько секунд на трансмиссию большая нагрузка.

Это с какой вам частотой надо опрос проводить бамперов? И что у вас за основная программа движения? Не проще ли вам будет основную программу движения раздробить? Всё равно ведь по бамперу захотите поменять направление движения, а значит надо эту возможность в обработке движений предусматривать.
Аватара пользователя
=DeaD=
 
Сообщения: 24053
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: Pascal / C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение overlocker » 23 окт 2006, 11:31

2avr123.nm.ru
В хелпе слишком запутано, много воды и оторвано от практики.
Или у Вас мысль возникла, что я в справку не заглядывал? )))
Мне б поближе к реальным конструкциям, идеально - к роботам.

2=DeaD=
Пример из програмы (что было):
- Оба двигателя вперед (напрfваление определяет RND) едем 1 секунду (задержка 1с)
- Опрос бампера раз в секунду. Мало (((

\\Не проще ли вам будет основную программу движения раздробить?\\
Так и сделал.
Добавил програмный ШИМ на отдельные выводы, во время роботы генератора ШИМ опрос бамперов проводится гораздо чаще.
Пример програмы (что стало):
- Оба двигателя вперед.
- ШИМ, плавно добавляем скорость, каждые 10 микросекунд опрашиваем бамперы.
- Лог 0 на левом бампере.
- Двигатели назад и вправо, ШИМ, плавно увеличиваем скорость, плавно уменьшаем до 0, основной цикл.

Получилось заметно лучше. )))

ЗЫ.
2Олл. Если размер памяти в МК позволяет, програмный ШИМ предпочтительней?
А то, кажеться, программа хоть и работает, но какая-то дерявянная получилась, ведь Тинька имеет два аппаратных ШИМа, а они не используются. (((
Аватара пользователя
overlocker
 
Сообщения: 126
Зарегистрирован: 22 июл 2006, 13:32
Откуда: Украина. г. Прилуки
прог. языки: basic
ФИО: щербина анатолий

Сообщение =DeaD= » 23 окт 2006, 11:37

overlocker писал(а):2=DeaD=
Пример из програмы (что было):
- Оба двигателя вперед (напрfваление определяет RND) едем 1 секунду (задержка 1с)
- Опрос бампера раз в секунду. Мало (((


Жесть :) ну вы даете!

Так можно же завести стек команд и вперед :)

0. Интервал базовый берем за 1/100 секунды;
1. Кладете в стек команду "Ехать вперед 100 интервалов";
2. Пока в стеке непусто - едем куда сказано и уменьшаем счетчик интервалов, если после этого счетчик = 0 - убираем команду из стека и в следующий раз выполнять будем следующую команду;
3. Если в стеке пусто - пытаемся добавить команд, если нечего сказать - встали;

На каждом цикле опрос датчиков, если что-то не так - сбрасываем стек и заполняем его новыми командами.
Аватара пользователя
=DeaD=
 
Сообщения: 24053
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: Pascal / C++ / PHP / 1C
ФИО: Антон Ботов

Сообщение overlocker » 23 окт 2006, 12:54

2=DeaD=

\\Жесть  ну вы даете!\\
Дык учусь.  )))) А на практических экпериментах, думаю Вы согласитесь, лучше всего запоминается.

\\0. Интервал базовый берем за 1/100 секунды;
1. Кладете в стек команду "Ехать вперед 100 интервалов";
2. Пока в стеке непусто - едем куда сказано и уменьшаем счетчик интервалов, если после этого счетчик = 0 - убираем команду из стека и в следующий раз выполнять будем следующую команду;
3. Если в стеке пусто - пытаемся добавить команд, если нечего сказать - встали;\\
Попробую седня разобраться и поэксперементировать... 8))
Аватара пользователя
overlocker
 
Сообщения: 126
Зарегистрирован: 22 июл 2006, 13:32
Откуда: Украина. г. Прилуки
прог. языки: basic
ФИО: щербина анатолий

Сообщение avr123.nm.ru » 20 дек 2006, 12:14

появился CVAVR v1.25.2 с лекарством

avr123.nm.ru - на сером фоне !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение avr123.nm.ru » 03 фев 2007, 22:31

простенький пример CVAVR с tiny13
Вложения
ATtiny13_cvavr.rar
(6.05 КиБ) Скачиваний: 86
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Chooze » 08 фев 2007, 07:13

Ребята! Только начал работать с АVR - возникла проблема: как вывести значение арефмитической операции на жк. У меня цифра а на жк надо код символа отправить! Подскажите плиззззз!
Chooze
 
Сообщения: 79
Зарегистрирован: 03 фев 2007, 20:24
Откуда: Омск

Сообщение avr123.nm.ru » 08 фев 2007, 12:07

вот  avr123.nm.ru/z5.htm  про LCD и вывод символов разных
 
а таблицу символов на  avr123.nm.ru/05.htm скачать можно.

и примеры можно посмотреть к CVAVR
C:\CVAVR\examples
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Chooze » 08 фев 2007, 14:43

Да, это то ясно, качнул, прочитал. Пример: часы, как перевести значения в цифре счетчика секунд на жк. Стандартные функции типа lcd_putchar  и вывод строки не помогают! Или я ошибаюсь? Или может надо использовать литерал какий нить?
Chooze
 
Сообщения: 79
Зарегистрирован: 03 фев 2007, 20:24
Откуда: Омск

Сообщение Chooze » 08 фев 2007, 14:53

Кстати по твоему курсу начинал! Только пока в реале не собрал току всё равно мало было! Пока не потрогаешь эффекта мало. Протеус вообще рулит - эмуляция проходит как на реальном проце. Спасибо за курс! :P
Chooze
 
Сообщения: 79
Зарегистрирован: 03 фев 2007, 20:24
Откуда: Омск

Сообщение avr123.nm.ru » 08 фев 2007, 17:24

Chooze писал(а):Пример: часы, как перевести значения в цифре счетчика секунд на жк.


я не въезжаю ...

приведи пример - какие символы КОНКРЕТНО тебе нужно вывести.

или пару-тройку примеров.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Chooze » 09 фев 2007, 07:24

Блин!! Извини что запарил. Как ты посоветовал глянул примеры вчера после работы. И вьехал в тему. Вопрос снимаю!!! Разобрался. Как говорится RTFM - [реад зе факен мануал]. Извини. Спасибо!
Chooze
 
Сообщения: 79
Зарегистрирован: 03 фев 2007, 20:24
Откуда: Омск

Сообщение Chooze » 17 фев 2007, 19:44

АААА!!! С памятью понты. Прикрутил, написал, проверил - постоянная потеря байтиков. Раза с 50 записывается. Бывает вроде всё петём но потом хлоп и нет его на месте. Память AT45DB161RU+Mega16+11.0592Mhz. Делитель SPI 16. то есть в регистр пишу 5f. Я с компа принемаю байтик(букву) и надо в память её записать потом следующий и тд. Написал вроде правильно но не работает. Голову поломал уже.  Хелп. Может провода длинные!. Процыдуры стирания, считывания происходят нормально! Может с микрухой понты какие?  :cry:
Вложения
02-17-07_2132.jpg
Chooze
 
Сообщения: 79
Зарегистрирован: 03 фев 2007, 20:24
Откуда: Омск

Сообщение avr123.nm.ru » 17 фев 2007, 20:04

а схема у вас как на странице avr123.nm.ru/z7.htm или другая ?
а прога ?

попробуйте отладку как в -  avr123.nm.ru/z4.htm
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Пред.След.

Вернуться в Микроконтроллеры

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

Сейчас этот форум просматривают: Google Feedfetcher и гости: 3

Mail.ru counter