roboforum.ru

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

 

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

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

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

Сообщение Denexp » 06 июл 2009, 00:44

Вот это логическое "и" не работает с первого разу. :o
Denexp
 
Сообщения: 29
Зарегистрирован: 04 июл 2009, 17:57
Откуда: Ташкент

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

Сообщение dmq » 07 июл 2009, 09:05

Собираю AVR910 от Протоса, мегу8 взял в TQFP чтоб все было маленьким и вставлялось сразу в USB разъем без лишних проводов. Так вот, все готово, осталось прошить мегу8. И тут я встал... Есть "5 проводков" с резисторами (без буфера), мегу 16 несколько раз им шил. Подключаюсь к MISO, MOSI, RST, SCK, подаю питание (втыкаю платку AVR910 в USB), меряю - питание есть. Поня ничего не видит и не слышит. Ладно, по схеме питание МК снижено до 3,6В, замкнул диоды чтобы временно было 5В - все равно никак. Перемычку на ресет (self, target) разумеется ставлю в "self".
Ошибка наверняка какая-то "чайная", но все же ткните носом пожалуйста. Единственное очевидное отличие меги8 от меги16 в том что Reset совмещен с PC6 (ну не бред ли? ), так и шут бы с ним, все равно PC6 не используется...
dmq
 
Сообщения: 81
Зарегистрирован: 29 апр 2009, 14:02
Откуда: Екатеринбург
ФИО: Михаил

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

Сообщение =DeaD= » 07 июл 2009, 09:07

Длина 5 проводков какая?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24053
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: Pascal / C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение dmq » 07 июл 2009, 09:16

Не больше 30см примерно. Т.е. никаких "хитростей" и особенностей нет и только искать ошибки монтажа?
dmq
 
Сообщения: 81
Зарегистрирован: 29 апр 2009, 14:02
Откуда: Екатеринбург
ФИО: Михаил

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

Сообщение =DeaD= » 07 июл 2009, 09:17

Да вроде, схему прозвонить, если что - можете сюда её выложить + фотки устройства с 2 сторон.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24053
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: Pascal / C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение dmq » 07 июл 2009, 09:24

Ясно, спасибо. Еще поколупаюсь и если что - снова помощи попрошу :)
dmq
 
Сообщения: 81
Зарегистрирован: 29 апр 2009, 14:02
Откуда: Екатеринбург
ФИО: Михаил

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

Сообщение rig » 07 июл 2009, 09:46

вообще то есть специальная тема про этот программатор.
dmq писал(а):Единственное очевидное отличие меги8 от меги16 в том что Reset совмещен с PC6 (ну не бред ли? )


If the RSTDISBL Fuse is unprogrammed, PC6 is used as a Reset input.

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

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

Сообщение dmq » 07 июл 2009, 19:50

=DeaD= писал(а):Да вроде, схему прозвонить

Убрал всякие болтающиеся хвосты, уменьшил длину "пяти проводков" и все заработало.

Rig, ясно, буду знать.

Всем спасибо :)
dmq
 
Сообщения: 81
Зарегистрирован: 29 апр 2009, 14:02
Откуда: Екатеринбург
ФИО: Михаил

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

Сообщение avr123.nm.ru » 07 июл 2009, 20:24

Дак я ж не зря вам давал линк на "Все о прошивке AVR" - http://avr123.nm.ru/07.htm - там я рекомендую не более 15-20 См проводки делать. Кстати все это есть на ПЕРВОЙ страничке топика.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14200
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

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

Сообщение mitart » 16 июл 2009, 18:07

Странная вещь у меня творится :o
Во вложении - программа для машинки. Пытаюсь в процедуры отъезда для замыкания бамперов и обнаружения препятствия ик бампером добавить задержку,чтобы избежать дребезга.(delay_ms(500); в коде пометил, куда вставляю). Программа перестает работать(на PA2 постоянный лог.0, поворотный и тяговый двигатели переключаются часто туда-сюда ), хотя с этим кодом, который во вложении всё прекрасно работает(при замыкании бампера или при обнаружении препятствия иком, начинается очень частое переключение, то есть все работает как надо). Подскажите пожалуйста, как ввести задержку и что у меня не правильно?
Вложения
new_ir.hex
(1.32 КиБ) Скачиваний: 23
mitart
 
Сообщения: 43
Зарегистрирован: 07 июн 2009, 10:34
Откуда: Самара
прог. языки: с
ФИО: Артем Митрофанов

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

Сообщение avr123.nm.ru » 16 июл 2009, 19:34

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

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

Сообщение mitart » 16 июл 2009, 20:20

хекс файл выложил нечайно, на автомате его выбрал вместо с
Вложения
new_IR.rar
(30.31 КиБ) Скачиваний: 7
mitart
 
Сообщения: 43
Зарегистрирован: 07 июн 2009, 10:34
Откуда: Самара
прог. языки: с
ФИО: Артем Митрофанов

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

Сообщение avr123.nm.ru » 16 июл 2009, 21:41

Там нет ни чего для симулятора - не знаю как проверить что не работает с паузами.
Компилится нормально с паузами.

А перед переменными которые в прерываниях изменяются луче писать модификатор: volatile

volatile unsigned int ir_counter=0;

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

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

Сообщение SiemX » 20 июл 2009, 14:16

Не могу настроить компаратор в тини 2313
Код: Выделить всёРазвернуть
// Analog Comparator initialization
// Analog Comparator: On
// Digital input buffers on AIN0: Off, AIN1: Off
DIDR=0x03;
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x00;


#asm("sei")
while(1){

if(ACSR==0x00){PORTA.0=1; PORTA.1=0; }else { PORTA.0=0; PORTA.1=1;  }
}



К порту A подключен двухцветный диод и всегда горит тот цвет что в else задается. К входам подключены резисторные делители в которых фоторезисторы.
Ножки порта с компаратором сделаны входами без подтяжки. Что я нитак делаю, почему всегда выполняется тот код что в else ?
SiemX
 
Сообщения: 159
Зарегистрирован: 08 май 2009, 21:21
Предупреждения: -1

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

Сообщение blindman » 20 июл 2009, 14:48

Потому что в ACSR содержится флаг прерывания, который устанавливается при срабатывании компаратора. Так как прерывания от компаратора не разрешены , и программно этот флаг тоже не сбрасывается, после первого срабатывания компаратора в этом регистре никогда не будет 0. Проверять надо не весь регистр, а только бит ACO.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Пред.След.

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

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

Сейчас этот форум просматривают: Bing [Bot], Google [Bot] и гости: 1

Mail.ru counter