Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

menzoda писал(а):Да я хочу, нет я просто требую, чтобы IDE для ARM (стоящая over 7000$), разрабатываемая под присмотром самого ARM, вместе с отладчиком J-Link ARM, хорошо работали с ARM микроконтроллером.
Вы можете предъявить документ, подтверждающий вами покупку данного продукта? Именно на эти "over.."
Должен вас огорчить, что от "цельнотянутого" продукта можно ожидать ЛЮБЫХ глюков. Вы можете хотеть, требовать, топать ногами сколько вам будет угодно. Гарантия безошибочной работы распространяется только на честно приобретенные продукты. Вы уверены в отсутствии "закладок" в "кракнуто-хакнутых" вариантах? На чем базируется эта уверенность?
Надо быть требовательным. Если все будут требовать - они сделают, если все будут смиренно попускать им недостатки - они не пошевелятся и продолжат доить.
Интересно, на какую страшную сумму вас "выдоили"? :)
В заключение - у каждого бренда IDE есть support service. Во всем мире принято обращаться именно туда. Причем индивидуально. Не стоит "поднимать общественность" на битву с выловленным вами багом.
Там вас научать излагать свои проблемы предметно, расскажут, что такое "stable issue repeating". Но в первую очередь поинтересуются вашей legacy license.
С уважением,
Виктор.
Аватара пользователя
Errorkpi
Встал на лапы
Сообщения: 102
Зарегистрирован: Вт мар 22, 2011 22:31:01

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Errorkpi »

Кто-нибудь в курсе, где купить вот такую штуку Отладочная в Киеве.
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

Errorkpi писал(а):Кто-нибудь в курсе, где купить вот такую штуку Отладочная в Киеве.
Дык прямо на ибэе и покупайте. Или вам охота "поддержать отечественного спекулянта"? :)
2-3 недели, и железяка ваша. Сомневаюсь, что этот срок выбьет вас из напряженного графика, согласованного с крутым заказчиком..
С уважением,
Виктор.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: Мелкие вопросы по теории

Сообщение Мikа »

Парни, а как в Atmel Studio 6 называется библиотека для ATmega32, которую в самом начале кода надо подключать?

На контроллере написано
ATMEGA32
16PU
1020D

Через программатор он отзывается как ATmega32, с signature 0x1E9502.
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Аватара пользователя
Errorkpi
Встал на лапы
Сообщения: 102
Зарегистрирован: Вт мар 22, 2011 22:31:01

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Errorkpi »

ut1wpr писал(а):согласованного с крутым заказчиком..
Разве ж я сам себе сроки не смягчу?
Думал может есть в Киеве уже привезенное (по приемлемой цене) +20..30 грн. я согласен переплатить, за "здесь и сейчас". Но если нет так нет...
ut1wpr
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ut1wpr »

Errorkpi писал(а):
ut1wpr писал(а):согласованного с крутым заказчиком..
Разве ж я сам себе сроки не смягчу?
Думал может есть в Киеве уже привезенное (по приемлемой цене) +20..30 грн. я согласен переплатить, за "здесь и сейчас". Но если нет так нет...
Плохо же вы думаете о наших барыгах. :) Не станут они за 20-30...
Не колеблясь покупайте на Ибэе.
С уважением,
Виктор.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Скорее 200-300% переплаты...
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение AVT-28 »

Добрый день, подкиньте плиза схемку дежурного режима.
Я тут устройство одно варганю и нужна дежурка.
Ну например пусть будет на Pic16f887.
Только вот проблема одна, есть 2 кнопки управления и 2 энкодера.
И новую кнопку никак не добавить т.к корпус спроектирован и все подогнано, оч долго все делалось. Я хотел бы например использовать кнопку стоп на вкл и выкл, если быстро нажать устройство включается если долго держать оно выключается.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Трансформатор - выпрямитель - стабилизатор. Классика же. Обычно для дежурного режима немного нужно, поэтому и транс пойдет маленький - 0.5 - 1Вт. От него же можно запитать реле которое будет включать основное питание.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: Мелкие вопросы по теории

Сообщение Мikа »

Мikа писал(а):Парни, а как в Atmel Studio 6 называется библиотека для ATmega32, которую в самом начале кода надо подключать?

На контроллере написано
ATMEGA32
16PU
1020D

Через программатор он отзывается как ATmega32, с signature 0x1E9502.


Дядьки...

Из всего, что там лежит, прописал ссылку на эту m32def.inc библиотеку. Но, походу, не она. Тк контроллер раз 5 прошился. Но были сообщения о НеVerify флеш памяти и что-то в этом роде. Щас контроллер так же выждаёт такие ошиббки, а если отключить проверку флеш после программирования, то, вроде бы, всё хорошо зашивает, но прошивка не работает.
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ibiza11 »

Мikа писал(а):прописал ссылку на эту m32def.inc библиотеку
все правильно. этот файл и надо.
Ставим плюсы: )
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение foton6 »

Доброго времени суток.
Надеюсь ни кто не против глупого вопроса?)
Простоя задача: при нажатии кнопки светодиод меняет свое состояние(вообщем просто оваиваю снятие состояния пинов).(atmega8, WinAvr+AVRStudio 4)
Код
Спойлер#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>

void main(void)
{
DDRD = (1<<0);
PORTC=(1<<4);
while(1)
{
if(PINC==16)
{
PORTD ^= 0b00000001;
_delay_ms(100);
}

}
}

Параллельно кнопке висит конденсатор(104) и подтяжка 10к(к +).
По идее(по моим соображениям) исходя из кода, диод должен постоянно моргать с задержкой 100мс, так как 16 = 0b00010000;
Но он не мигает, а именно при нажатии меняет свое состояние.(причем может не реагировать на нажатия по 3-4 раза если еще отключена подтяжка в МК)
Объясните почему именно так работает и если что-то не так подскажите что и где поправить?(забавно но внешние прерывания освоил раньше этого^^)
И можно ли снимать состояние не всего PINn, а одного отдельно(например PINC.4, в этом компиляторе этот способ не работает).
Нашел вот такой способ:
if(!(PINC&(1<<PINC5)))
Может кто разжевать пошагово логику этой записи(объясняя что означает каждый символ)?
P.S.
ни как не разберусь с символами: ~, |, ||, &, &&, ^(я так понял инверсия)
Аватара пользователя
unalex
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение unalex »

foton6 писал(а):Параллельно кнопке висит конденсатор(104)


это слишком много, достаточно нескольких нанофарад(но ИМХО лучше делать программный антидребезг, с задержкой около 20мс)

foton6 писал(а):Нашел вот такой способ:
if(!(PINC&(1<<PINC5)))


расшифровывается просто
имеем маску в виде единички сдвинутой на PINC5 - 00100000
вычисляем логическое И порта и этой маски(при логическом И единица будет только тогда когда и в маске и на порте единицы), т.е. в этом случае только одна нога информативна, на остальных всегда получится ноль

как вариант вместо записи 1<<PINC5 можно просто указать нужную маску(с единицами на тех местах, которые хотим проверять)

foton6 писал(а):ни как не разберусь с символами: ~, |, ||, &, &&, ^(я так понял инверсия)

побитовые операции(для преобразования)
~ инверсия
| побитовое ИЛИ(единица, если хоть один из операндов 1)
^ побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ(единица, если значения операндов разные)
& побитовое И(ноль, если один из операндов 0)

операторы сравнения(для сравнения, Кэп)
|| ИЛИ
&& И

----------
а вообще это описано в любой книжке по программированию,не говоря уже о гуглепоиске "логические операции"
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение foton6 »

unalex спасибо. Все понятно.
Пару книг уже прочел, но теория плохо усваивается без практики.
Вот сейчас запомнившееся осваиваю на практике ))
Вроде заработало, вот только в данном исполнении программы за одно нажатие диод успевает раз 5 сменить свое состояние.
Ну вообщем это уже мелочи главное ясно как работать с пином.
Аватара пользователя
unalex
Мучитель микросхем
Сообщения: 424
Зарегистрирован: Сб авг 25, 2007 22:02:05
Откуда: Германия, Viernheim

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение unalex »

за одно нажатие диод успевает раз 5 сменить свое состояние
так оно и будет - программа крутится в бесконечном цикле и пока кнопка нажата, светодиод будет неоднократно переключаться

чтобы заставить переключаться его только один раз - можно использовать 2 способа
1 переключать только по ИЗМЕНЕНИЮ состоянии кнопки а не по нажатому состоянию, т.е. каждый раз запоминать предыдущее состояние, и если оно не меняется - ничего не делать
2 использовать дополнительную переменную - флаг, при нажатой кнопке и флаге(например равном нулю) - переключить диод и изменить флаг(в единицу), при опущенной кнопке снова его сбросить

...........
ну и не следует забывать о дребезге контактов
Коктейль "Рекурсивный": 20% спирта, 30% воды, 50% коктейля "Рекурсивный"...
foton6
Встал на лапы
Сообщения: 146
Зарегистрирован: Вс сен 16, 2012 22:00:40

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение foton6 »

unalex
Я же говорю остальное мелочи, мне главное научится было использовать пины.
Реально голова у меня рабочая, я с книгами дружу очень плохо и с теорией в целом *)
Вот такое решение:
Спойлер#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>

void main(void)
{
DDRD = (1<<0);
while(1)
{
if(PINC&(1<<4))
{
while(1)
{
if(!(PINC&(1<<4)))
{
PORTD ^= 0b00000001;
break;
}
}
}
}
}

У меня работает на ура.
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Alexeyslav »

Задержку забыл
a_skr
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение a_skr »

можно чуток красивее:

Код: Выделить всё

void main(void)
{
  DDRD = 1;
  PORTC = (1<<4); // внутренняя подтяжка (можно не использовать внешнюю)
  while(1)
  {
    while(PINC & (1<<4)) ; // ждем нажатия (появления нуля)
    PORTD ^= 1; // переключаем выход
    _delay_ms(100); // от дребезга
    while((PINC&(1<<4)) == 0) ; // ждем отпускания (появления единицы)
    _delay_ms(100); // от дребезга
  }
}
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Мikа »

Вопрос с инициализацией стэка ATmega32.

Код: Выделить всё

.def R16=Temp1
-//-//-
ldi Temp1, RamEnd ;Инициализация стека
out SPL, Temp1


Компилятор пишет ошибку Operand(s) out of range in 'ldi r16,0x85f'

0x85f = 1000 0101 1111

Надо полтора байта, то есть два регистра. Только что-то не догоню, как это сделать :) SPL и SPH. Но как это правильно записать?
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

ldi tmp, high(RAMEND); Set Stack Pointer to top of RAM
out SPH, tmp;
ldi r16, low(RAMEND);
out SPL, tmp;
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ответить

Вернуться в «Разные вопросы по МК»