roboforum.ru

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

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

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

Master » 21 янв 2008, 10:53

Ну ты это руки-то не опускай, просто поконкретнее пиши
вылетает стандартаная ошибка от CV - мол проверте то-то

что вылетает?

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

rig » 21 янв 2008, 11:13

попробуй с помощью этого http://avr.nikolaew.org/progr.htm
программатора потестировать выходы ЛПТ на живучесть, можно и дальше по цепям пройтись. Чудес небывает. Питание проверь. Лечить даже без фоток дело неблагодарное. Если есть возможность купи АВР самый дешевый , к примеру Тинька2313 у нас (Екб) 35 р стоит ее приконтачь для проверки.

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

avr123.nm.ru » 26 янв 2008, 11:42

Русский даташит на 8-ногие популярные МК - PIC12F629 и PIC12F675
http://www.microchip.ru/files/d-sheets- ... 29_675.pdf

Списки команд МК PIC16 PIC18 на русском языки и сводные таблицы
http://www.microchip.ru/?mid=3

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

Co$s » 27 янв 2008, 16:55

Master
Ну я так понимаю что эта штуковина вылезает при любых ошибках:
Изображение

Но оно все таки заработало...)) Каюсь нехватило просто выдержки, все хотелось с минимум телодвижений (но с максимальной аккуратностью).
Перепаял "LPT + 5 проводков" что бы было более опрятно, включил кермачиеский (100нФ) кондер между VCC и землей, также подключил питание к AVCC. После этого все как по маслу, мигание светодиодом, трехканальный реобас, термометр на DS18B20, вольтметр, сейчас опробываю девайс управляющий VID на стабилизаторе питания видеокарты. Ну и робота (платформа на колесиках - так будет лучше))) нада чтоли хотя бы какого-нибудь простецкого попробывать... А там уже видно будет, все упирается в софт.
В общем спасибо всем (avr123.nm.ru,Master,rig,Myp) кто своим вниманием не дал мне опустить руки...)))

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

AlexCH » 06 фев 2008, 18:00

Скажите пожалуйста, когда я подключаю lcd к например порту А меги16, используя мастер и стандартную библиотеку cvavr, (нога 3 порта остается свободной) можно ли свободно использовать эту ногу в программе? Под ацп или i/o?

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

Master » 06 фев 2008, 18:02

Можно.

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

AlexCH » 06 фев 2008, 22:26

Спасибо!

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

avr123.nm.ru » 27 мар 2008, 10:36

ICC компилятор для AVR - руководство на русском языке скачать
http://ifolder.ru/5900182

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

maksvp » 27 мар 2008, 14:43

день добрый. спрошал на казусе, спрошу и тут нужна альтернатива функции delay_us(); но чтобы она работала с переменными. частота тактирования 1 или 6 мегагерц, чип: ATmega32 пишу в CVAVR на С, асму незнаю совершенно и к ее изучению к сожалению пока не готов

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

SSG » 27 мар 2008, 15:00

Так а в чем проблема-то? Свою функцию на Си можно написать. Или Вы хотите чтоб Вам кто-нибудь готовую написал-дал?

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

maksvp » 27 мар 2008, 15:24

В том то и проблема, что хочу свою а как организовать пока не знаю, всего месяц как сел програмить... еще много чего незнаю поэтому и спрашиваю... в голове родился самый простой вариант такой функции При частоте 1 мегагерц:

Код: Выделить всёРазвернуть
void delay(int x)
{
while(x>0) x--;
}


но проц еще сколько то тактов тратит на вызов этой функции и на сравнение в каждом цикле... в общем заморочка ))) для меня по крайней мере...

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

avr123.nm.ru » 27 мар 2008, 15:29

Сколько тратит можно посмотреть в VMLAB например - http://avr123.nm.ru/z3.htm

Соответственно столько нужно вычесть из переменной в этой функции паузы. Потребуется подгонка - отладка. Для новичка прекрасная задачка-упражнение ИМХО.

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

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

maksvp » 27 мар 2008, 16:57

Код: Выделить всёРазвернуть
#include <mega32.h>

// Declare your global variables here
void delay(int x)
{
while(x>0) x--;
}
void main(void)
{
PORTA=0x01;
DDRA=0x01;

while (1)
      {
      // Place your code here
PORTA.0=0;
delay(0);
PORTA.0=1;
delay(0);
      };
}

на этот код при вызове функции delay и изменении состояния на ножке тратится 38 us при частоте 1 МГц, при изменении числа 0 на 1 в вызове функции затрачивается на 28 us больше, и т.д. прирост числа на единицу увеличивает время на 28 микросекунд.
выяснено при помощи вышенаписанного кода и VMLAB-a

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

avr123.nm.ru » 27 мар 2008, 18:41

Частоту сделайте хотябы 10 МГц - измерения точней станут.

А в PROTEUS можно и 500 МГц сделать :good:

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

Vooon » 27 мар 2008, 20:56

maksvp писал(а):[...] ножке тратится 38 us при частоте 1 МГц, при изменении числа 0 на 1 в вызове функции затрачивается на 28 us больше, и т.д. прирост числа на единицу увеличивает время на 28 микросекунд. [...]

а вы ожидали что на мегагерце сможете с точностью до 1 мкс делать задержки?
такое возможно только в асме и то на прямых (T < 4 мкс)

ПС: очень люблю спагетти-код.


Rambler\'s Top100 Mail.ru counter