roboforum.ru

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

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

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

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

Сообщение Master » 21 янв 2008, 10:53

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

что вылетает?
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

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

Сообщение rig » 21 янв 2008, 11:13

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

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

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

Сообщение Co$s » 27 янв 2008, 16:55

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

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

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

Сообщение AlexCH » 06 фев 2008, 18:00

Скажите пожалуйста, когда я подключаю lcd к например порту А меги16, используя мастер и стандартную библиотеку cvavr, (нога 3 порта остается свободной) можно ли свободно использовать эту ногу в программе? Под ацп или i/o?
AlexCH
 
Сообщения: 50
Зарегистрирован: 12 мар 2007, 23:15
Откуда: Иркутск

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

Сообщение Master » 06 фев 2008, 18:02

Можно.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

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

Сообщение AlexCH » 06 фев 2008, 22:26

Спасибо!
AlexCH
 
Сообщения: 50
Зарегистрирован: 12 мар 2007, 23:15
Откуда: Иркутск

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

Сообщение avr123.nm.ru » 27 мар 2008, 10:36

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

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

Сообщение maksvp » 27 мар 2008, 14:43

день добрый. спрошал на казусе, спрошу и тут нужна альтернатива функции delay_us(); но чтобы она работала с переменными. частота тактирования 1 или 6 мегагерц, чип: ATmega32 пишу в CVAVR на С, асму незнаю совершенно и к ее изучению к сожалению пока не готов
Сделать невозможное?... Нет ничего прощще! Главное знать с чего начать... (с) М.Фрай
maksvp
 
Сообщения: 15
Зарегистрирован: 26 фев 2008, 16:01
Откуда: Самара

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

Сообщение SSG » 27 мар 2008, 15:00

Так а в чем проблема-то? Свою функцию на Си можно написать. Или Вы хотите чтоб Вам кто-нибудь готовую написал-дал?
I live My life!
Аватара пользователя
SSG
 
Сообщения: 1058
Зарегистрирован: 15 янв 2007, 19:23
Откуда: Беларусь, Барановичи
прог. языки: С для МК, Delphi для ПК

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

Сообщение maksvp » 27 мар 2008, 15:24

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

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


но проц еще сколько то тактов тратит на вызов этой функции и на сравнение в каждом цикле... в общем заморочка ))) для меня по крайней мере...
Сделать невозможное?... Нет ничего прощще! Главное знать с чего начать... (с) М.Фрай
maksvp
 
Сообщения: 15
Зарегистрирован: 26 фев 2008, 16:01
Откуда: Самара

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

Сообщение avr123.nm.ru » 27 мар 2008, 15:29

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

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

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

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
Сделать невозможное?... Нет ничего прощще! Главное знать с чего начать... (с) М.Фрай
maksvp
 
Сообщения: 15
Зарегистрирован: 26 фев 2008, 16:01
Откуда: Самара

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

Сообщение avr123.nm.ru » 27 мар 2008, 18:41

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

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

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

Сообщение Vooon » 27 мар 2008, 20:56

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

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

ПС: очень люблю спагетти-код.
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Пред.След.

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

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

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